仅在调试版本中阻止NuGet Restore Package

Jai*_*ime 7 visual-studio-2010 nuget

我在我的解决方案中启用了"恢复包"选项,因此当我将代码上传到CI服务器时,它会更新所需的所有正确构建的包,并且效果很好.现在的问题是,在我的本地机器上,构建需要很长时间才能启动,因为"更新软件包".有没有办法只在发布版本中启用还原包?

我试图将<RestorePackage>.csproj文件中的属性移动到带有false和的发布/调试部分true,但是当打开NuGet控制台并重置两者时,NuGet更新属性true; 也尝试只在发布部分包含该属性,但随后NuGet将其添加到全局部分...所以我没有运气让它保持我想要的方式...

有什么建议?

Nik*_*hil 15

您可能已经设法现在回答这个问题,但如果没有,那么这些是您需要遵循的步骤

您的解决方案文件在Windows中的位置应该有一个名为.nuget的文件夹.重命名或删除此文件夹.

现在打开记事本或任何文本编辑器中的每个.csproj或.vbproj文件并删除这些行

<RestorePackages>true</RestorePackages>
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" />
Run Code Online (Sandbox Code Playgroud)

重要的是删除/重命名.nuget文件夹.现在应该完全禁用包恢复.

编辑:要有选择地禁用DEBUG构建的包还原,请编辑Nuget.settings.targets文件并修改以下行

<RestorePackages Condition="$(RestorePackages) == ''">false</RestorePackages>
Run Code Online (Sandbox Code Playgroud)

<RestorePackages Condition="$(RestorePackages) == '' AND '$(Configuration)' == 'Debug'">false</RestorePackages>
Run Code Online (Sandbox Code Playgroud)

Nuget.settings.targets文件位于.nuget文件夹下,该文件夹应与解决方案文件位于同一文件夹中.