【发布时间】:2016-12-02 07:03:36
【问题描述】:
我想要达到的目标: 我们有一个 C# 解决方案,其中包含要创建的一堆程序集。我想创建一个 NuGet 包,其中包含解决方案创建的所有程序集(您可以将其称为“解决方案范围”包)。该软件包还应安装所包含程序集的所有依赖项。
到目前为止我做了什么: 我自己创建了一个 *.nuspec 文件(因为我无法使用 *.csproj 方法,因为包应该包含完整解决方案中的所有程序集)。它包含所有依赖项(简化示例 - 未使用依赖组):
<dependencies>
...
<dependency id=Insight.Itk.x64" version="2.4.8.0" />
<dependency id=Intel.Ipp.x64" version="6.1.2.041" />
...
</dependencies>
我使用 NuGet 2.8.1 创建了包,并将其发布在我们的本地 NuGet 服务器上。 *.nuspec 文件中依赖项的所有 NuGet 包也已在该服务器上发布。
有什么问题?现在当我安装包时,我期望我的 NuGet 包的程序集已安装和包的依赖项中的程序集。第一个顺利,但没有安装依赖包。我尝试使用命令安装
nuget.exe install packages.config -source http://path-to-nuget-server -o C:\install_path
其中 packages.config 仅包含我发布的包。
当我尝试使用相同的命令安装依赖程序集时,packages.config 文件包含所有这些程序包作为包,它从我们的 NuGet 服务器安装它们,根本没有错误消息。
我已经尝试过的一些研究(没有成功)是:
- 称为“nuget pack”,所有依赖项的 *.nupkg 文件和我的 *.nuspec 文件位于同一文件夹中
- 为我们的本地 NuGet 服务器创建了一个带有 packageSources-Items 的 NuGet.config 文件
也许有人可以指出正确的解决方案?似乎我在打包时遗漏了一些东西,或者 NuGet 无法解决安装的依赖关系。
【问题讨论】:
标签: nuget nuget-spec