我想在我的 CI 构建管道中使用 nuget.exe(2.5 版)来安装一个依赖于另一个包的包。
我有以下 nuspec 文件。
<?xml version="1.0"?>
<package>
<metadata>
<id>A</id>
<dependencies>
<dependency id="B" version="1.0.0.1" />
</dependencies>
</metadata>
<files>
<file src="A.dll" target="lib" />
</files>
</package>
和 B. 类似,我用来安装的 packages.config 文件是:
<packages>
<package id="A" version="1.0.0.1" allowedVersions="[1,2)"/>
</packages>
我运行以下命令:
NuGet.exe install packages.config -ExcludeVersion -Outputdir libs -source http://get.nuget.mydomain
我得到输出:
Successfully installed 'A 1.0.0.1'.
但不要安装我的依赖项 B。
但是如果将 B 单独放在 packages.config 文件中,我会同时安装 A 和 B。我希望在安装 A 时安装 B,因为它是 A 的依赖项。我们没有将 dll 放入 GAC(所以我相信依赖项解析应该不是问题)。另外我打开了 A.nupkg 并检查了它是否有那里列出的依赖项。此外,当我在 Visual Studio 编辑器中安装 A 时,B 也会被安装。(这是应该发生的)。
当我只安装 A 时,如何使用 nuget.exe 并安装依赖项 B(仅将 A 放在 packages.config 中)。
谢谢