Nuget - 默认情况下禁用包还原。要获得同意,请打开“Visual Studio选项”对话框。 (构建服务器上的Nuget包还原)

时间:2013-10-01 19:13:37

标签: version-control nuget nuget-package build-server nuget-package-restore

因此,我的构建服务器构建项目时遇到的错误是:

  

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

我知道此错误的含义以及解决方法。问题是我无法在构建服务器上进行任何更改 - 我的公司不会允许它。此外,创建一个名为EnableNuGetPackageRestore的环境变量并将其设置为true不是一个选项,因为这涉及修改构建服务器。

我的问题是:是否可以简单地检查作为源控件解决方案一部分的所有NuGet包,这样构建服务器就没有任何理由可以出去了 - 下载他们?如果是这样,那么当我确认所有NuGet包(.nupkg)都在源代码管理的packages文件夹中时,你或许可以解释为什么还会发生这个错误:

enter image description here

第二个问题:原谅我的无知,但“包恢复”功能的原因是什么?是否要确保每个软件包都是最新版本的软件包?在我看来,这个“功能”应该是一个不应该阻碍在构建服务器上构建项目的设置。在我看来,如果我们希望构建服务器寻找更新的包,那么确定,这样做,否则如果我在源代码控制中拥有所有的包,我们告诉构建服务器以某种方式 NOT 寻找更新的包装,这对我来说听起来很合理。

1 个答案:

答案 0 :(得分:0)

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

我必须做的是:

  1. 删除.nuget文件夹。
  2. 在您的文件系统中(不是通过Visual Studio),修改.csproj文件(删除它所说的<packageRestore>true</packageRestore>的位置,以及导入该行中具有nuget.targets的项目的位置 - 只需执行“查找”for“nuget.targets”,并删除所有包含import
  3. 的行
  4. 保存.csproj文件更改。
  5. 检查您对TFS的更改。
  6. 部署您的解决方案。