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

C# 生成代码中的代码分析警告(如迁移)-Visual Studio(C),c#,visual-studio,roslyn-code-analysis,C#,Visual Studio,Roslyn Code Analysis,目前我在项目中遇到的大多数警告都来自自动生成的代码。在大多数情况下,它是CA1062:验证公共方法的参数。我注意到,即使是VisualStudio生成的控制台hello word应用程序也会显示警告S1118:实用程序类不应该有公共构造函数 如何禁用自动生成代码的警告?迁移主要是您只需将此注释添加到文件顶部即可: // 您只需将此注释添加到文件顶部即可: // 正如crgolden所说,您可以在文件的开头添加//标记。但对于生成器工具选择不添加它的文件,我会谨慎地这样做。您特别提到迁移—您应

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


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

您只需将此注释添加到文件顶部即可:

//
您只需将此注释添加到文件顶部即可:

//
正如crgolden所说,您可以在文件的开头添加//标记。但对于生成器工具选择不添加它的文件,我会谨慎地这样做。您特别提到迁移—您应该在提交之前检查迁移,EF有时会做一些令人惊讶的事情*。该审查也是修复任何困扰您的警告的好时机。如果您非常关心该警告而将其保留为启用状态,那么在迁移中禁用该警告将开创一个糟糕的先例。如果你不在乎它,你可以全局禁用它

我对自动生成的注释的看法是,它属于在您无法控制的情况下重新生成的文件中,或者频繁地重新生成,或者两者兼而有之。因为我们使用EF作为示例,所以ModelSnapshot是一个很好的候选者,迁移工具也包括它。Designer.cs文件也随之生成。而且几乎不应该手工添加**

*删除一列并添加另一列,如果它们具有相似的类型,则可以使用重命名操作进行迁移。或者您的coleague对代码做了一些更改,但忘记了为其生成迁移—您的迁移现在将包括来自这两者的更改,并且他的部分将未经测试


**因为每一条规则都需要一个例外,所以最近我考虑为我们作为源文件导入到项目中的第三方库打破这个规则。最后,我决定将整个项目设置为警告级别0。

正如crgolden所说,您可以在文件开头添加//标记。但对于生成器工具选择不添加它的文件,我会谨慎地这样做。您特别提到迁移—您应该在提交之前检查迁移,EF有时会做一些令人惊讶的事情*。该审查也是修复任何困扰您的警告的好时机。如果您非常关心该警告而将其保留为启用状态,那么在迁移中禁用该警告将开创一个糟糕的先例。如果你不在乎它,你可以全局禁用它

我对自动生成的注释的看法是,它属于在您无法控制的情况下重新生成的文件中,或者频繁地重新生成,或者两者兼而有之。因为我们使用EF作为示例,所以ModelSnapshot是一个很好的候选者,迁移工具也包括它。Designer.cs文件也随之生成。而且几乎不应该手工添加**

*删除一列并添加另一列,如果它们具有相似的类型,则可以使用重命名操作进行迁移。或者您的coleague对代码做了一些更改,但忘记了为其生成迁移—您的迁移现在将包括来自这两者的更改,并且他的部分将未经测试


**因为每一条规则都需要一个例外,所以最近我考虑为我们作为源文件导入到项目中的第三方库打破这个规则。最后,我决定将整个项目设置为警告级别0。

谢谢,这是一个很好的选择。唯一的缺点是每次迁移都需要编辑。谢谢,这是一个很好的选择。唯一的缺点是需要对每次迁移进行编辑。我总是简单地看一下迁移。现在,在回顾它们之后,我将添加//。这也是一种有意识地决定我可以禁用警告的方式。有用的评论。我总是简单地看一下迁移。现在,在回顾它们之后,我将添加//。这也是有意识地决定我可以禁用警告的一种方式。