生成代码中的代码分析警告(例如迁移)- Visual Studio(C#)

4

当前项目中大部分的警告都来自于自动生成的代码。在大多数情况下,它是(CA1062:验证公共方法的参数)。我注意到,即使是由Visual Studio生成的控制台 hello world应用程序也会显示警告(S1118:实用类不应该有公共构造函数)。

我如何禁用自动生成的代码的警告?(主要是迁移)

2个回答

5
如CrGolden所说,你可以在文件开头添加//<auto-generated/>标记。但是,我建议您在生成工具选择不添加它的文件上小心。你特别提到了迁移-你应该在提交之前进行审核,EF有时会做出惊人的事情(* )。那次审查也是修复任何困扰你的警告的好时机。如果您足够关注警告而让其保持启用状态,则在迁移中将其消音会树立一个不良先例。如果你不关心它,你可以全局禁用它。
我的看法是自动生成的评论属于在你无法控制或频繁重现的文件中。因此,如果我们使用EF作为示例,ModelSnapshot就是一个不错的候选对象,迁移工具也包括它。.Designer.cs文件也随之生成。几乎不能手动添加(**)。
(*)删除一列并添加另一列,如果它们具有类似的类型,可能会发现带有重命名操作的迁移。或者你的同事对代码进行了一些更改,忘记为其生成迁移-你的迁移现在将包括来自两个部分的更改,而他的部分将不经测试。
(**)由于每条规则都需要一个例外,最近我考虑打破这个规则,为我们作为源文件导入项目的第三方库添加。最终,我决定将整个项目设置为警告级别0。

有用的备注。我总是简要查看迁移。现在经过审核后,我将添加// <auto-generated/>。这也是一种有意识地决定可以禁用警告的方式。 - Krzysztof Krysztofczyk

2

您可以将此注释添加到文件顶部:

// <auto-generated/>

谢谢,那是一个不错的选择。唯一的缺点是需要编辑每个迁移。 - Krzysztof Krysztofczyk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接