我想在开发 C# 时打开 Microsoft 的所有可能的警告,我发现这个答案说要将
<Features>strict</Features>
添加到我的 .csproj
文件中。
但是,在开始使用它之前,我想了解它会发出哪些警告以及它可能产生的其他副作用。
不幸的是,我找不到任何相关文档。
我认为它在微软文档中的某个地方,但我在任何地方都找不到它。
更新:我发现了一篇关于此属性的文章,其中引用了以下内容:
请注意,此标志没有记录且不为人所知。
微软从一开始就没有记录这个功能吗?
感谢所有通过发布有用文章和文档链接提供帮助的人。
目前,我决定创建一个名为
Directory.Build.props
的文件,其中包含以下内容:
<Project>
<PropertyGroup>
<Features>strict</Features>
<WarningLevel>9999</WarningLevel>
</PropertyGroup>
</Project>
注意: 对于 .NET Core,
的最大值为WarningLevel
。对于 .NET 5 及更高版本,它的最大值为4
。9999
然后,我会将此文件复制并粘贴到所有解决方案文件的根目录中。
我的目标是有一种简单的方法来为任何项目启用所有 C# 警告,这样我就可以放心地编码,确保我没有做任何不应该做的事情。
虽然我从测试中获得了大部分信心,但每种语言都有自己的约定和最佳实践,如果不遵循这些约定和最佳实践,通常会生成警告,这就是我启用这些功能的动机。
此方法应该适用于 Visual Studio Code 和 Visual Studio,虽然我在我的环境中使用最新的 .NET SDK,但它也应该适用于所有现代 C# 环境和任何 IDE。