我想在我的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>
Run Code Online (Sandbox Code Playgroud)
类似的B.和我以前安装的packages.config文件是:
<packages>
<package id="A" version="1.0.0.1" allowedVersions="[1,2)"/>
</packages>
Run Code Online (Sandbox Code Playgroud)
我运行以下命令:
NuGet.exe install packages.config -ExcludeVersion -Outputdir libs -source http://get.nuget.mydomain
Run Code Online (Sandbox Code Playgroud)
我得到输出:
Successfully installed 'A 1.0.0.1'.
Run Code Online (Sandbox Code Playgroud)
但是不要安装我的依赖关系B.
但是如果将B单独放在packages.config文件中,我会同时安装A和B. 我希望在安装A时安装B,因为它是A的依赖项.我们不把dll放在GAC中(所以我认为依赖解析不应该是一个问题).我也打开A.nupkg并检查它是否有依赖列在那里.此外,当我在Visual Studio编辑器B中安装A时,也会安装.(这应该是什么).
如何仅在安装A时使用nuget.exe并安装依赖关系B(仅在packages.config中放置A).
谢谢
nuget ×1