如何获取TFS2015 Build(Build.vnext)和NuGet包还原以使用自定义包源

Jaa*_*ans 23 tfs tfsbuild nuget-package-restore tfs-2015 azure-devops

我正在尝试将我们的TFS2015 Build(TFSBuild vnext)与VS Team Services一起使用.

到目前为止,大多数博客和文档都很有用,除了在尝试构建使用自定义包源来进行NuGet自动包恢复的项目时.

我已经成功部署了一个Team Services Build Agent(新的构建机制),并且在恢复NuGet包的构建任务失败之前似乎一切顺利.

失败的原因是未从已安装的VS配置中获取自定义/私有包源,因此无法找到这些包.默认NuGet包Feed中的传统包确实可以正常恢复.

如何在使用代理时指定NuGet使用的其他包源?

编辑:vcastro询问了NuGet Installer构建步骤,并在该构建步骤的配置中定义了路径.以上是使用Visual Studio Build步骤和集成选项来使NuGet恢复包.参考此图片以供参考:http://i.imgur.com/Hrqhhk2.png

Pas*_*ger 17

或者,您也可以在构建配置中的NuGet Installer步骤之前添加构建步骤,Visual Studio Build以还原所有NuGet包.

在那里,您可以将私人仓库的位置作为参数传递给nuget.exe:

-source "https://www.nuget.org/api/v2/;http://mynugetserver"


Jaa*_*ans 7

我在网上搜索得不太成功,但在摆弄以下内容后会有所帮助:

OK似乎为NuGet.config配置的包源是按用户帐户存储的,例如

c:\Users\<<username>>\AppData\Roaming\NuGet\NuGet.config

我的问题更难解决,因为构建代理程序Windows ServiceLocal System帐户下运行.因此,要为构建获取NuGet配置,我必须使用以下路径:

  • 64位Windows C:\Windows\SysWOW64\config\systemprofile\AppData\Roaming\NuGet\NuGet.Config
  • 32位Windows C:\Windows\System32\config\systemprofile\AppData\Roaming\NuGet\NuGet.Config

您可能需要具有提升的权限才能创建NuGet子文件夹和NuGet.Config文件.

注意:我没有使用该Local Service帐户的解决方案.以上仅适用于Local System(或实际用户)帐户.


Dan*_*ann 7

将NuGet.config添加到项目中,以指定备用包位置.解决规则定义明确,并在官方文件中进行了解释.


Gar*_*ett 7

有一个名为"NuGet Installer"的新VSTS任务,它允许您签入NuGet.config文件并指定不同的包源.在运行MSBuild之前运行此任务.

如果您使用的是VSTS NuGet Feed,则需要将构建服务帐户添加到源以启用软件包下载https://www.visualstudio.com/get-started/package/use/common-identities

在此输入图像描述

  • 这很好用,但UI已经改变,现在配置文件位置没有输入.而是添加一个NuGet参数"-ConfigFile c:\ MyPath\ToMy\NuGet.config" (2认同)