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

时间:2012-02-14 01:41:28

标签: visual-studio-2010 nuget

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

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

有什么建议吗?

1 个答案:

答案 0 :(得分:15)

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

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

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

<RestorePackages>true</RestorePackages>
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" />

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

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

<RestorePackages Condition="$(RestorePackages) == ''">false</RestorePackages>

<RestorePackages Condition="$(RestorePackages) == '' AND '$(Configuration)' == 'Debug'">false</RestorePackages>

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