#nullable disable - 仅针对特定命名空间?

#nullable disable - only for specific namespace?

在我的 asp.net 核心项目中,我打开了可为空的警告:

<Nullable>enable</Nullable>

一切正常。但是在从 Identity 添加脚手架项(如 Login.cshtmlRegister.cshtml)后,许多警告出现了。我不想碰那个(别人的)代码(但出于某种原因我需要它)。

我可以在每个文件中使用 #nullable disable,但我在想也许存在更好的解决方案?仅将 #nullable disable 限制到特定命名空间??

虽然您不能在每个命名空间的基础上禁用可空检查,但您可以通过 .editorconfig 文件自定义这些检查出现的问题的严重性。

许多项目使它们的文件夹结构反映了它们的命名空间。如果您的项目属于这种情况,您可以将 .editorconfig 文件放入目标命名空间根目录下的文件夹中,或者您可以在另一个 .editorconfig 文件中创建一个文件匹配模式,以进一步在文件夹树中定位项目那个文件夹。例如:

[**/Models/**.cs]
# API models will be serialized and deserialized, so they can have default constructors,
# but we assume the required values aren't null anyway.
dotnet_diagnostic.CS8618.severity = none