2014-01-10 120 views
1

我已经设置了使用MsBuild构建NuGet包的项目的TeamCity。 在构建,下面的命令来安装软件包发出,但失败: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提示符(在同一路径内),它成功没有任何错误。

这是我迄今所做的:

  • 下的环境变量添加一个新的Build参数中的TeamCity:env.EnableNuGetPackageRestore并将其设置为“真”
  • 添加特定的路径包源( https://nuget.org/api/v2/)的..nuget \ nuget.targets文件(如所描述的here
  • 内部为了提供additinal路径的方式来提供的路径:
  • 修改了.nuget文件夹内的文件nuget.config(..nuget \ nuget.c onfig)
  • 修正了构建浇道下(C执行用于系统帐户的nuget.config:\ Windows \ SysWOW64中\配置\ systemprofile \应用程序数据\漫游\的NuGet \ nuget.Config)(如所描述的here

我在想的是,这与系统用户的漫游配置文件(即构建代理运行时)有关,因为它在构建代理与我的帐户一起运行时都可以工作。但是nuget.config对于这两个配置文件都是一样的,而且我没有想法。也许系统用户无法访问WinServer2012R2上的Internet?也许它需要额外的权限?哪个?

你有什么想法尝试?

+0

我不确定它是否会解决您的问题,但不是运行命令行nuget调用您是否尝试过使用NuGet Installer构建运行器? http://confluence.jetbrains.com/display/TCD8/NuGet+Installer –

回答

2

错误原来是我们网络上的ISA服务器(TMG客户端)的设置。默认情况下,这不是为新(本地)用户设置的,因此SYSTEM帐户无权访问网站。

我已经为新的本地用户(非域名,密码不过期)进行了设置,将它添加到管理员组,现在它工作得很好。

+0

这可能是我有同样问题的原因。 –

相关问题