取消解决方案级别的警告.将警告视为解决方案级别的错误

本文关键字:警告 解决方案 错误 取消 | 更新日期: 2023-09-27 18:29:47

我正在尝试为我的团队设置全局规则。我们正在将VS2012与TFS一起用于我们的C#项目。我想取消显示一些警告,并将其中一些警告视为错误。我在项目级别找到了方法-项目属性->构建选项卡。

但我们有一百多个项目的解决方案,我正在寻找一些更简单的方法来在全球范围内制定这些规则。

取消解决方案级别的警告.将警告视为解决方案级别的错误

解决方案只是项目的一个(相当愚蠢的)容器。如果你在文本编辑器中打开它,你会很快发现你不能扩展它,只能添加项目/项。

您想要的是一个或多个通用msbuild文件,指定编译器/链接器/您使用的任何工具所需的所有选项,并在每个项目中Import它。

或者,您可以添加一个计算机范围的文件,在$(MSBuildToolsPath)''Microsoft.CSharp.targets中查找这些文件的位置。我不打算在这里复制/粘贴内容,但最开始的几行基本上是检查$(MSBuildExtensionPath)''$(MSBBuildToolsVersion)''$(MSBbuildThisFile)''ImportBefore中是否有用户定义的文件,如果是,它们都是在所有常见的msbuild内容之前导入的。同样,Microsoft.CSharp.targets的末尾包含类似的逻辑,用于在所有常见的msbuild内容之后导入文件。

从MSBuild 15(约2017年)起,您可以使用解决方案顶部文件夹中的Directory.Build.Props文件。语法与csproj、fsproj或vbproj文件相同,并且将条目视为注入到所有项目文件中。您需要重新启动Visual Studio才能应用更改。(谢谢Jumbo!)

<Project>
  <PropertyGroup>
    <WarningsAsErrors>CS4014, CS1998</WarningsAsErrors>
  </PropertyGroup>
</Project>