我正在尝试在构建服务器上使用命令行进行NuGet包还原。
nuget install myapp/packages.config
然而,我遇到了以下错误消息:
默认情况下禁用程序包还原。要同意,请打开Visual Studio选项对话框。
如果我不在构建服务器上安装VS2010(不,我不会这样做),那我该怎么办呢?有注册表设置之类的东西吗?NuGet如何确定程序包还原被禁用?事实上,为什么他们甚至关心是否默认禁用它呢?
我正在尝试在构建服务器上使用命令行进行NuGet包还原。
nuget install myapp/packages.config
然而,我遇到了以下错误消息:
默认情况下禁用程序包还原。要同意,请打开Visual Studio选项对话框。
如果我不在构建服务器上安装VS2010(不,我不会这样做),那我该怎么办呢?有注册表设置之类的东西吗?NuGet如何确定程序包还原被禁用?事实上,为什么他们甚至关心是否默认禁用它呢?
另一种方法是添加
<packageRestore>
<add key="enabled" value="True" />
<add key="automatic" value="True" />
</packageRestore>
将 %USERPROFILE%\AppData\Roaming\NuGet\nuget.config 文件保存。
当前正在发生这种情况是因为NuGet包恢复需要在下载软件包之前得到用户的同意,并且按照目前的工作方式,没有办法区分用户是否调用了“nuget.exe install packages.config”与包还原。 更多同意方面的详细信息请参见:http://blog.nuget.org/20120518/package-restore-and-consent.html
注:这个问题下周应该会被解决。
作为解决方法,您可以通过将EnableNuGetPackageRestore环境变量设置为true来给予同意。
set EnableNuGetPackageRestore=true
没有起作用,但在控制面板->高级系统设置中设置环境变量可以解决。对于那些想知道环境变量中的“true”值是什么的人来说,对我来说1
和true
都可以使用。 - Emperor Orionii我今天得到了一个。
在Visual Studio 2013中选中了选项,但仍然收到错误消息。 设置环境变量的解决方法有效,添加环境变量后应重新启动Visual Studio。