禁用自动生成的代码/文件夹/命名空间的警告信息

14

我喜欢在C#中拥有干净、"0警告"的项目。这包括我的项目中为每个公共属性和类添加XML注释。

现在我使用实体框架和迁移(先写代码)。迁移是通过使用 "Add-Migration" 创建的,这会导致自动代码生成在Migrations文件夹中(标准行为)。我可能想/需要稍微修改这些类,但不想为创建的公共类添加注释。

我知道我可以使用 #pragma disable 来禁用警告,但我不想为每个迁移类都这样做。

那么,是否有可能在完整的文件夹或命名空间上使用 #pragma disable(或类似的东西)?

我不想使用像GhostDoc这样的解决方案。


2
小建议:修复所有警告。 - General-Doomer
你可能是对的。但如果我不得不评论由VS创建的代码而不是我自己创建的代码,那么感觉就像是成为技术的奴隶。虽然它还不是Cyberdyne(尚未),但仍然很烦人,感觉非常“不聪明” :) - Ole Albers
1
XML属性注释会大大降低代码的可读性,任何一个好的开发者都会阅读你的代码,而不是生成的注释文档。因此,关闭XML文档的生成,消除所有这样的警告,并集中精力编写易读的代码。 - David Arno
2
我不使用生成的XML注释,而是手动添加有用的信息。 (我同意生成的注释是垃圾,这就是为什么我不想要像GhostDoc之类的东西)。就个人而言,我认为XML注释有很大的好处,特别是因为这些信息将显示在Intellisense上。我知道有两种类型的开发人员。那些使用XML注释的人,以及那些不使用的人。但是,关于利弊的讨论会变得“宗教化”,并且与我的问题无关,因此对于SO来说尤其如此。 - Ole Albers
1
这里的一些评论令人不安。许多人使用EF的自动化代码生成。而且,那些生成的代码会触发C#警告/错误。就像Ole Albers一样,我也不想每次添加迁移文件时都被这些生成的代码所困扰。这些迁移文件经常被生成和删除;每次抑制警告都需要大量手动工作。 - jeancallisti
显示剩余2条评论
2个回答

4
在该特定文件夹中添加一个名为.editorconfig的文件,并将以下内容复制到其中:
[*.cs]
generated_code = true
dotnet_analyzer_diagnostic.severity = none

1

为了抑制项目中生成的代码的警告

  • 在“解决方案资源管理器”中右键单击该项目,然后单击“属性”。
  • 点击“代码分析”。
  • 选择“从生成的代码中抑制结果”复选框。

参考: 如何:抑制生成代码的代码分析警告


1
那个复选框已经被设置了。我猜这只适用于“.designer.*”文件。 - Ole Albers
在这部分中不涉及任何工具。只需在构建设置中提供一个 XML 文档文件。(这将导致缺失的 XML 注释被显示为警告) - Ole Albers
在 Visual Studio 2019 中,我在解决方案文件夹的“属性”面板中找不到“代码分析”的入口。 - jeancallisti

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