首页 文章

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

提问于
浏览
7

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

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

有什么建议?

1 回答

  • 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文件夹下,该文件夹应与解决方案文件位于同一文件夹中 .

相关问题