【发布时间】:2015-10-23 22:29:18
【问题描述】:
我想在我的 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 中)。
谢谢
【问题讨论】:
-
我在 nuget.codeplex.com 上创建了一个问题,这不是您的确切问题,但也可以使用稍微不同的工作流程解决它:nuget.codeplex.com/workitem/4258
标签: nuget