NuGet依赖未安装

时间:2016-12-02 07:03:36

标签: nuget nuget-spec

我想要实现的目标: 我们有一个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服务器安装它们,而根本没有任何错误消息。

我已经尝试过一些研究(没有成功)的目的是:

  • 在同一个文件夹中使用所有* .nupkg文件中的所有* .nupkg文件调用“nuget pack”als my * .nuspec-file
  • 使用packageSources-Items创建一个NuGet.config文件到我们的本地NuGet-server

也许有人可以指出我正确的解决方案?看起来我在打包时遗漏了一些东西,或者NuGet无法解决安装时的依赖关系。

1 个答案:

答案 0 :(得分:4)

命令nuget.exe install packages.config不会更新packages.config文件。该命令所做的就是将packages.config文件中定义的NuGet包下载到目录中。它不会下载任何依赖项,除非它们在packages.config文件中明确列出。

要测试您的NuGet包,请安装正确的依赖项,您应该使用Visual Studio安装它。

相关问题