我的解决方案从Nuget.org抓取了一些nuget软件包,其中一些在我的存储库中的“ lib”文件夹下。我知道在我的存储库中存储软件包不是最好的选择,但是就目前而言,我仍然坚持使用它。
在我的解决方案中,nuget.config看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="CustomSource" value="../lib" />
</packageSources>
<activePackageSource>
<add key="All" value="(Aggregate source)" />
</activePackageSource>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
</configuration>
它在Visual Studio中工作正常。
在VSTS中,我更改了nuget restore task选项:
我的构建失败,像这样:
nuget命令失败,并显示退出代码(1)和错误(失败 检索有关的信息 远程源中的“ Microsoft.Extensions.Configuration.Abstractions” 'D:\ a \ 1 \ lib'。)
软件包还原失败
显然,应该从nuget.org下载Microsoft.Extensions.Configuration.Abstractions。我应该更改什么,以便它尝试使用2个nuget源? 谢谢!
答案 0 :(得分:1)
如果您在NuGet恢复任务中指定了自己的NuGet.config
文件,它将把指定的NuGet.config
文件的内容保存到一个临时配置文件中,例如:D:\a\1\Nuget\tempNuGet_3274.config
。
因此,如果您使用的是托管代理,则应将本地供稿路径指定为:
<add key="CustomSource" value="../s/Projectname/lib" />
此外,您还可以使用位于本地计算机上的private agent,以便可以从其他目录中找到软件包。