0

所以,当我的构建服务器构建我的项目时,我得到的错误是:

默认情况下禁用包还原。要给予同意,请打开 Visual Studio 选项对话框。

我知道这个错误意味着什么以及如何解决它。问题是我无法更改构建服务器上的任何内容 - 我的公司不允许这样做。此外,创建一个名为 EnableNuGetPackageRestore 的环境变量并将其设置true为不是一种选择,因为这涉及修改构建服务器。

我的问题是:是否可以简单地将作为解决方案一部分的所有 NuGet 包检查到源代码管理中,这样构建服务器就没有任何理由出去重新下载它们?如果是这样,那么当我验证所有 NuGet 包 (.nupkg) 都在源代码管理的包文件夹中时,也许你可以解释为什么这个错误仍然发生:

在此处输入图像描述

第二个问题:原谅我的无知,但是“包还原”功能的原因是什么?是否确保每个包都与该包的最新版本保持同步?在我看来,这个“功能”应该是一个不应该妨碍在构建服务器上构建项目的设置。在我看来,如果我们希望构建服务器查找更新的包,那么可以肯定地这样做,否则如果我的所有包都在源代码控制中并且我们以某种方式告诉构建服务器不要查找更新的包,这听起来很合理我。

4

1 回答 1

0

所以,我的具体情况是我下载了实际 Nuget 站点的源代码(在我的公司中创建 Nuget 的内部实现),当我尝试部署它时,就出现了上述错误。

我必须做的是:

  1. 删除 .nuget 文件夹。
  2. 在您的文件系统中(不是通过 Visual Studio),修改 .csproj 文件(删除它所说的位置<packageRestore>true</packageRestore>,以及它导入在该行中有 nuget.targets 的项目的位置 - 只需为“nuget.targets”执行“查找” ",并删除所有带有import.
  3. 保存您的 .csproj 文件更改。
  4. 将您的更改签入 TFS。
  5. 部署您的解决方案。
于 2013-10-02T12:50:00.530 回答