禁止Visual Studio中的所有项目的警告

时间:2018-05-17 19:42:57

标签: c# .net visual-studio visual-studio-2017 suppress-warnings

我已经看到了解决方法,展示了如何抑制特定代码行或特定项目的警告。我不想要那个。

我想取消对所有项目的特定警告。

(如果重要,警告是IDE0044。而且我使用的是C#。)

6 个答案:

答案 0 :(得分:7)

Visual Studio 2017(15.7.1)的最新更新现在有了一个选项。在Tools->Options菜单下,选择TextEditor->C#->Code Style->General标签。在Field preferences下,有一个Prefer readonly选项。将其设置为No

Image of the text editor preferences.

如果要在代码旁边检查此首选项,还可以设置editorconfig设置,因此使用代码的其他人不会收到警告,但必须在每个解决方案。您要设置的editorconfig值为:

 dotnet_style_readonly_field = false:none

答案 1 :(得分:2)

IDE0044是“添加readonly修饰符”,为什么不添加修饰符?

警告告诉你,你做错了什么,但应用程序会编译。

最好在理想世界中发出零警告。

答案 2 :(得分:1)

您可以使用System.Diagnostics.CodeAnalysis名称空间下的SuppressMessage属性

[SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", MessageId = "args")]

好了,你已经编辑过说我要取消所有项目的特定警告

对于整个项目明智的AFAIK,你不能这样做。但如果有帮助,请检查链接的帖子

How to suppress code analysis messages for all type members?

答案 3 :(得分:1)

我想补充一下Stephen的帖子,他的[*Tests.cs] dotnet_diagnostics.CA1707.severity = none 文件解决方案在没有指定我要应用规则的文件的情况下无法解决。例如,假设我要对所有测试文件应用规则,并且遵循一个以“ Tests.cs”结尾的命名约定,那么我已经设法通过使用以下命令忽略了这些文件中的CA1707规则遵循规则:

{{1}}

有关我的答案here

的更多信息

答案 4 :(得分:0)

您可以尝试使用Directory.Build.props添加NoWarn属性来获取特定警告。我没有验证它。

正如在另一个答案中所说,最好修复根本原因而不是忽略它。

答案 5 :(得分:0)

要对所有项目禁止显示警告,您需要在顶级目录中创建一个.editorconfig文件。例如,我在主干中,并将其提交给源代码管理这样我的同事可以共享相同的设置。

此文件中的设置适用于干线和子文件夹中的所有项目,除非被文件夹树下的另一个.editorconfig文件覆盖,例如您可能在子文件夹中有一个项目特定的EditorConfig文件,该文件具有不同的设置。有关更多详细信息,请参见File hierarchy and precedence

创建EditorConfig文件

如果您只想更改一个特定设置,则可以使用文本编辑器。但是,Visual Studio可以为您创建具有合理默认值的.editorconfig文件。来自MSDN

  • 创建一个新项目

  • 从菜单栏中,选择项目> 添加新项;或按 Ctrl + Shift + A

  • 选择editorconfig File (.NET)模板以添加一个预填充有默认.NET代码样式,格式和命名约定的EditorConfig文件

enter image description here

  • (可选)删除项目-我们真的不需要它

Visual Studio 2019-从当前设置创建EditorConfig文件

在Visual Studio 2019中,您可以改为create an EditorConfig file from your current settings。只需在Text Editor > C# > Code Style > General下的选项对话框中单击以下按钮:

enter image description here

在编辑器配置文件中禁用IDE0044

要专门禁用IDE0044,请在.editorconfig文件中添加或更改以下设置:

dotnet_style_readonly_field = false:none

(在Visual Studio 2019中,您可以将选项Prefer readonly下的No选项设置为TextEditor-> C# -> Code Style-> General,然后按Generate .editorconfig file from settings按钮如上所述)。