3

我在使用 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" install "D:\ <...SolutionPath...>\packages.config" -source "" -RequireConsent -solutionDir "D:\<...SolutionPath...>\ "" 以代码 1 退出。

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

顺便说一句,这是我的 NuGet.config 的内容:

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

有任何想法吗?

提前致谢。

4

2 回答 2

2

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

于 2013-03-18T18:44:02.917 回答
1
  1. 使用执行构建的同一帐户登录到构建服务器。
  2. 打开 Visual Studio。
  3. 在 Visual Studio 中安装 NuGet 包管理器。
  4. 重新启动 Visual Studio。
  5. 工具 --> 选项 --> 包管理器 --> 常规:勾选“允许 NuGet 在构建期间下载丢失的包”。
  6. 在您的解决方案中启用包还原。
于 2013-04-29T10:44:23.077 回答