首页 > 解决方案 > 是否有一个 csproj 属性禁用 Visual Studio 的自动 NuGet 恢复?

问题描述

是否有csproj禁用 Visual Studio 自动 NuGet 恢复的属性?

我正在寻找与 visual-studio specific item 类似的 visual-studio 特定属性<UpToDateCheckInput>

<PropertyGroup>
    <VisualStudioSpecificDisableAutomaticNuGetRestore>true</VisualStudioSpecificDisableAutomaticNuGetRestore>
</PropertyGroup>

标签: visual-studiomsbuildcsproj

解决方案


是否有一个 csproj 属性禁用 Visual Studio 的自动 NuGet 恢复?

恐怕答案是否定的。

1.您似乎在 VS IDE 中构建项目。对于 nuget 还原选项,它由 IDE 级别而不是 .xxproj 文件级别控制。

Go Tools=>Options=>Nuget Package Manager=>Package Restore,你会发现这两个选项:

在此处输入图像描述

取消选中它们,我们可以在构建/重建期间禁用自动 NuGet 恢复,但我们必须知道它是一个 IDE 选项,不仅适用于当前项目。如果我们创建一个新的解决方案,这个选项也会为新的 sln 禁用。

2.另外,我理解你为什么要在 .csproj 中使用这样的属性。通常,csproj中的一些设置Project=>Properties对应于.csproj中的属性。(如构建事件,输出路径,目标框架等)。这些选项是针对特定项目的,因此我们可以在.csproj中具有相应的属性。但是 nuget restore 是针对整个 IDE 的,也就是说 .csproj 中不存在对应的属性。

3.此外,相应的属性在nuget.config文件中(不在.xxproj中)。但它似乎适用于VS中的整个解决方案(不适用于每个单独的项目)。就像Tools=>...Package Restore. 你可能会从这个问题中得到一些帮助。

最后,您可以考虑使用msbuild 命令行构建项目,除非您告诉它这样做,否则它不会自动恢复 nuget。无论如何,.csproj 中没有禁用 nuget 还原的默认属性。

希望能帮助到你。


推荐阅读