use*_*642 3 .net c# lint editorconfig roslyn-code-analysis
我的团队成员总是错误地、无意地使用多种方法,并且多次留下相同的反馈。我想将某些内置方法/属性标记为至少警告。
我使用声纳云,因此当 ,作为一个坏例子,被引用时,这会自动阻止任何 PR 通过构建Console.ForegroundColor。然后,开发人员会记住使用我们自己的内部等效工具,或者在确实存在异常(发生 100 多次后没有出现异常)时联系领导,以便将其标记为“正常”并允许继续构建。
我确实有一个编辑器配置,我已经调整它来更改一些预先存在的规则的严重性,但在这种情况下,我不确定我想要做的事情是否可以仅使用此文件和声纳来完成。
您可以使用Microsoft.CodeAnalysis.BannedApiAnalyzers NuGet 包来强制执行无法使用的 API 的禁止列表。与TreatWarningsAsErrors结合使用,如果人们引入了您不希望使用的内容,则构建可能会失败。
可以在此处找到分析器的文档。
例如,您可以使用类似这样的规则来BannedSymbols.txt鼓励使用 NodaTime 而不是DateTime.Now:
P:System.DateTime.Now; Use ISystemClock.GetCurrentInstant() from NodaTime instead.
Run Code Online (Sandbox Code Playgroud)