【发布时间】:2014-01-10 11:37:29
【问题描述】:
我已将我的 TeamCity 设置为使用 MsBuild 构建一个 NuGet 打包的项目。 在构建期间,发出以下安装包的命令,但失败:
..\nuget.exe install "C:\TeamCity\buildAgent\work\811b6866c8757c46\Service\packages.config" -source "https://nuget.org/api/v2/" -RequireConsent -solutionDir "..\ "
错误:Unable to connect to the remote server
退出代码为 1。
有趣的是是,当我在 cmd 提示符下(在同一路径内)运行这个完全相同的命令时,它会成功且没有任何错误。
这是我到目前为止所做的:
- 在 TeamCity 的环境变量下添加新的构建参数:
env.EnableNuGetPackageRestore并将其设置为“true” - 在 ..nuget\nuget.targets 文件中添加包源 (https://nuget.org/api/v2/) 的特定路径(如 here 所述)
- 提供附加路径的方式来提供路径:
- 修改了 .nuget 文件夹中的 nuget.config 文件 (..nuget\nuget.config)
- 修改了构建运行程序在 (C:\Windows\SysWOW64\config\systemprofile\AppData\Roaming\NuGet\nuget.Config) 下执行的 SYSTEM 帐户的 nuget.config(如 here 所述)李>
我的想法是,这与系统用户的漫游配置文件(构建代理运行时使用)有关,因为当构建代理使用我的帐户运行时,这一切都有效。但是两个配置文件的 nuget.config 是相同的,我没有想法。也许系统用户在 WinServer2012R2 上无法访问 Internet?也许它需要额外的权限?哪些?
您对尝试什么有什么想法吗?
【问题讨论】:
-
我不确定它是否能解决您的问题,但您是否尝试过使用 NuGet Installer 构建运行程序而不是运行命令行 nuget 调用? confluence.jetbrains.com/display/TCD8/NuGet+Installer