如何从 CLI 制作 c# 分析器,以警告使用 ! 运算符



好的,像往常一样,msft 文档对我来说完全没用。 这是我的问题:

如何使用 CLI(Linux 上的 dotnet 6.0 SDK)制作分析器,并在dotnet build其他项目时运行它,并在使用空宽恕运算符 (!) 时让它打印警告。 我不使用视觉工作室。 另外,我如何验证分析器是否正在通过dotnet build加载/初始化。

对于上下文,我们需要一个__unwrap<T>()helper 方法,该方法在运行时检查对象是否确实不为 null,而不是牺牲安全性。 这里的这个项目似乎对我不起作用:https://github.com/tom-englert/Nullable.Extended#roslyn-analyzer

使用您前面提到的 nuget 分析器(对于阅读本文的其他人:dotnet add package Nullable.Extended.Analyzer),您需要指定其诊断 ID 的严重性 (NX0001..3)。

有多种方法可以做到这一点。如果您愿意,可以随意遵循全局 AnalyzerConfig方法,但为了简单起见,我将使用.editorconfig文件(您可能已经有一个):

[*.cs]
dotnet_diagnostic.NX0001.severity=warning
dotnet_diagnostic.NX0002.severity=warning
dotnet_diagnostic.NX0003.severity=warning

可以在源代码中找到 3 个不同的 ID 和一些描述。 您还可以在那里看到DiagnosticDescriptor是使用DiagnosticSeverity.Info创建的 - 执行dotnet build时不会显示 - 因此需要手动覆盖为警告。

相关内容

最新更新