NuGet for TFS Build中包含的解决方案

时间:2013-03-18 13:49:17

标签: visual-studio-2010 tfs nuget

我遇到了NuGet的问题:它实际上让我疯了! 我正在尝试为包含nuget.exe的解决方案进行TFS构建运行。 我在本地工作站上从Visual Studio运行它没有任何问题,但是当我在TFS服务器中排队新的构建时,构建因这些已知错误而失败:

  

D:\< ... SolutionPath ...> .nuget \ nuget.targets(88):默认情况下禁用包恢复。要同意,请打开Visual Studio选项对话框,单击程序包管理器节点,然后选中“允许NuGet在构建期间下载缺少的程序包”。您也可以通过将环境变量'EnableNuGetPackageRestore'设置为'true'来表示同意。

     

D:\< ... SolutionPath ...> .nuget \ nuget.targets(88):命令“”D:\< ... SolutionPath ...> .nuget \ nuget。 exe“安装”D:\< ... SolutionPath ...> \ packages.config“-source”“ - RequestConsent -solutionDir”D:\< ... SolutionPath ...> \“”退出代码为1。

问题是:我已经在TFS Build服务器中将 EnableNuGetPackageRestore 设置为 true ,但它仍然会抛出相同的错误。我也尝试在相同的TFS服务器中使用相同的参数从一个cmd窗口运行nuget.exe,我没有任何问题。

BTW,这是我的NuGet.config的内容:

<configuration>
  <solution>
    <add key="disableSourceControlIntegration" value="true" />
  </solution>
  <packageRestore>
    <add key="enabled" value="true" />
  </packageRestore>
</configuration>

有什么想法吗?

提前致谢。

2 个答案:

答案 0 :(得分:2)

请检查您的TFS构建服务帐户是否与您用于进行更改的帐户相同。还要重新启动服务器以确保环境变量使其成为服务。

答案 1 :(得分:1)

  1. 使用执行构建的同一帐户登录构建服务器。
  2. 打开Visual Studio。
  3. 在Visual Studio中安装NuGet包管理器。
  4. 重新启动Visual Studio。
  5. 工具 - &gt;选项 - &gt;包管理器 - &gt;一般:勾选'允许NuGet在构建期间下载缺少的包'。
  6. 在解决方案中启用程序包还原。