生成代码中的代码分析警告(如迁移)- Visual Studio (C#)
Code analysis warnings in generated code (like migrations) - Visual Studio (C#)
目前我的项目中的大部分警告都来自自动生成的代码。在大多数情况下,它是(CA1062:验证 public 方法的参数)。我注意到即使 Visual Studio 生成的控制台 hello word 应用程序也会显示警告(S1118:实用程序 类 不应具有 public 构造函数)。
如何禁用自动生成代码的警告? (主要是迁移)
您可以将此评论添加到文件顶部:
// <auto-generated/>
正如 crgolden 所说,您可以在文件开头添加 // <auto-generated/>
标记。但是我会谨慎对待生成器工具选择不添加它的文件。您特别提到了迁移——您应该在提交之前对其进行审查,EF 有时会做出令人惊讶的事情 (*)。该审查也是修复任何困扰您的警告的好时机。如果您足够关心警告以使其启用,那么在迁移中将其静音会树立一个不好的先例。如果你不关心它,你可以全局禁用它。
我对自动生成的评论的看法是,它属于在您无法控制的范围内重新生成的文件,或者经常生成,或者两者兼而有之。由于我们使用 EF 作为示例,因此 ModelSnapshot 是一个很好的候选者,并且迁移工具确实包含它。 .Designer.cs 文件也随之生成。而且几乎不应该手动添加它 (**)
(*) 删除一列并添加另一列,如果它们具有相似的类型,您可能会发现具有重命名操作的迁移。或者您的同事对代码做了一些更改而忘记为其生成迁移 - 您的迁移现在将包括来自两者的更改,而他的部分将未经测试。
(**) 由于每条规则都需要一个例外,最近我正在考虑为我们作为源文件导入到项目中的第三方库打破这个规则。最后我决定只将整个项目设置为警告级别 0。
目前我的项目中的大部分警告都来自自动生成的代码。在大多数情况下,它是(CA1062:验证 public 方法的参数)。我注意到即使 Visual Studio 生成的控制台 hello word 应用程序也会显示警告(S1118:实用程序 类 不应具有 public 构造函数)。
如何禁用自动生成代码的警告? (主要是迁移)
您可以将此评论添加到文件顶部:
// <auto-generated/>
正如 crgolden 所说,您可以在文件开头添加 // <auto-generated/>
标记。但是我会谨慎对待生成器工具选择不添加它的文件。您特别提到了迁移——您应该在提交之前对其进行审查,EF 有时会做出令人惊讶的事情 (*)。该审查也是修复任何困扰您的警告的好时机。如果您足够关心警告以使其启用,那么在迁移中将其静音会树立一个不好的先例。如果你不关心它,你可以全局禁用它。
我对自动生成的评论的看法是,它属于在您无法控制的范围内重新生成的文件,或者经常生成,或者两者兼而有之。由于我们使用 EF 作为示例,因此 ModelSnapshot 是一个很好的候选者,并且迁移工具确实包含它。
(*) 删除一列并添加另一列,如果它们具有相似的类型,您可能会发现具有重命名操作的迁移。或者您的同事对代码做了一些更改而忘记为其生成迁移 - 您的迁移现在将包括来自两者的更改,而他的部分将未经测试。
(**) 由于每条规则都需要一个例外,最近我正在考虑为我们作为源文件导入到项目中的第三方库打破这个规则。最后我决定只将整个项目设置为警告级别 0。