未安装 NuGet 依赖项

NuGet Dependency not getting installed

我想达到的目标: 我们有一个 C# 解决方案,其中包含要创建的一组程序集。我想创建一个 NuGet 包,其中包含解决方案创建的所有程序集(您可以将其称为 "solution-wide" 包)。该包还应安装所包含程序集的所有依赖项。

到目前为止我做了什么: 我自己创建了一个 *.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 无法解决安装时的依赖关系。

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

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