NuGet包未经同意恢复的NuGet(NuGet package restore consent w

2019-09-20 21:43发布

最近,我们使用的NuGet增加了一些依赖于我们的项目。 为了保持二进制文件进行版本控制系统的,我启用了包还原功能,并且增加了产生.nuget文件夹复制到存储库。 还与依赖该项目得到了RestorePackages选项设置为true ,并且Import -标记为nuget.targets的内.nuget文件夹。

因此,与安装的NuGet和包恢复我的VS设置中启用的功能,一切运作良好我的机器上。 然而,当我想用​​此设置在其他机器上安装依赖我遇到了一些问题。

我的印象是,包括的一个优点nuget.exe会允许我使用这个上不一定已安装的NuGet机。 然而,看完之后就同意的文章 ,我认为它实际上失败的原因是,这些机器没有包恢复它们的设置已启用的功能-很明显,因为他们在技术上甚至不知道的NuGet。

什么是首选的方式,使包装上没有安装该设备的NuGet恢复? 是不具有实际安装的NuGet比构建服务器以外的其他有效选择吗?

或者理想,有没有一种方法,使包,如果的NuGet没有安装本身从溶液中默认的恢复,因此设置不能由用户设置? (其实,我能想到的设置,脚本创建的NuGet.Config%AppData&\NuGet

Answer 1:

尝试这个:

Install-Package NuGetEnablePackageRestore

或检查的内容包 (解压缩),你会发现一些有趣的东西存在,这将帮助你(例如,有从内部的MSBuild设置环境变量的方法)。 您可以登录到的NuGet后,在浏览器中下载软件包。



Answer 2:

“或者理想,有没有一种方法,使包,如果的NuGet没有安装本身从溶液中默认的恢复,因此设置不能由用户设置?”

替代通过设置安装的NuGet并使同意是设置以下环境变量:

set EnableNuGetPackageRestore=true


Answer 3:

如果EnableNuGetPackageRestore(由亚历山大·翁提到的)作为MSBuild的脚本emmited属性变量(我强烈怀疑它以这种方式工作,但现在斜面检查) - 你可以调整你的项目或SLN设置此附加属性为true。

总之, 根据这个你应该为每个开发者控制台经理至少nuget.exe。 否则,你不能取指令引用的NuGet包。



文章来源: NuGet package restore consent without NuGet