C# 项目 属性 的文档:`<Features>strict</Features>`
Documentation for C# Project Property: `<Features>strict</Features>`
我想在打开 Microsoft 的所有可能警告的情况下开发 C#,我发现 说要将 <Features>strict</Features>
添加到我的 .csproj
文件.
但是,在我开始使用它之前,我想了解它启用的警告以及它可能产生的其他副作用。
不幸的是,我找不到任何关于它的文档。
我假设它在 Microsoft 文档的某个地方,但我找不到它。
更新: 我发现 an article 关于这个 属性 引用以下内容:
Note that this flag is not documented and not well-known.
Microsoft 是否从来没有记录过此功能?
感谢所有通过发布有用文章和文档的链接提供帮助的人。
现在,我决定创建一个名为 Directory.Build.props
的文件,内容如下:
<Project>
<PropertyGroup>
<Features>strict</Features>
<WarningLevel>9999</WarningLevel>
</PropertyGroup>
</Project>
NOTE: For .NET Core, WarningLevel
maxes out at 4
. For .NET 5 and newer, it maxes out at 9999
.
然后我会将此文件复制并粘贴到我所有解决方案文件的根目录中。
我的目标是有一种简单的方法来为任何项目启用所有 C# 警告,这样我就可以自信地编写代码,确保我没有做任何我不应该做的事情。
虽然我从测试中获得了大部分信心,但每种语言都有自己的惯例和最佳实践,如果不遵守这些惯例和最佳实践,通常会产生警告,这是我启用这些功能的动机。
这种方法应该适用于 Visual Studio 代码和 Visual Studio,并且当我在我的环境中使用最新的 .NET SDK 时,它应该适用于所有现代 C# 环境和任何 IDE 还有。
我想在打开 Microsoft 的所有可能警告的情况下开发 C#,我发现 <Features>strict</Features>
添加到我的 .csproj
文件.
但是,在我开始使用它之前,我想了解它启用的警告以及它可能产生的其他副作用。
不幸的是,我找不到任何关于它的文档。
我假设它在 Microsoft 文档的某个地方,但我找不到它。
更新: 我发现 an article 关于这个 属性 引用以下内容:
Note that this flag is not documented and not well-known.
Microsoft 是否从来没有记录过此功能?
感谢所有通过发布有用文章和文档的链接提供帮助的人。
现在,我决定创建一个名为 Directory.Build.props
的文件,内容如下:
<Project>
<PropertyGroup>
<Features>strict</Features>
<WarningLevel>9999</WarningLevel>
</PropertyGroup>
</Project>
NOTE: For .NET Core,
WarningLevel
maxes out at4
. For .NET 5 and newer, it maxes out at9999
.
然后我会将此文件复制并粘贴到我所有解决方案文件的根目录中。
我的目标是有一种简单的方法来为任何项目启用所有 C# 警告,这样我就可以自信地编写代码,确保我没有做任何我不应该做的事情。
虽然我从测试中获得了大部分信心,但每种语言都有自己的惯例和最佳实践,如果不遵守这些惯例和最佳实践,通常会产生警告,这是我启用这些功能的动机。
这种方法应该适用于 Visual Studio 代码和 Visual Studio,并且当我在我的环境中使用最新的 .NET SDK 时,它应该适用于所有现代 C# 环境和任何 IDE 还有。