在 Visual Studio 2017 for MAC 中抑制命名规则冲突 IDE1006
Posted
技术标签:
【中文标题】在 Visual Studio 2017 for MAC 中抑制命名规则冲突 IDE1006【英文标题】:Suppress Naming Rule Violation IDE1006 in Visual Studio 2017 for MAC 【发布时间】:2019-05-20 01:36:52 【问题描述】:如何在 Visual Studio 2017 中为 MAC 全局抑制警告 IDE1006
命名规则冲突?
我找到的所有答案 here 可能是指 windows 上选项对话框中的一个选项卡,该选项卡在 MAC 版本中似乎不存在/不可用.
我找到了一个名为 GlobalSuppressions.cs
的全局禁止文件,我在其中添加了以下内容:
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE1006:Naming Styles", Justification = "TBD", Scope = "member", Target = "*")]
不幸的是,这没有帮助。
【问题讨论】:
【参考方案1】:使用菜单 Visual Studio > Preferences > Text Editor > Source Analysis > C# >Code Rules 并在列表中查找“IDE1006”并将 Action 更改为“Hidden”
或者,您可以将鼠标悬停在名称下方的波浪线上,单击“提示”图标打开子菜单,然后选择Suppress > Suppress IDE1006 > In Suppression file:
这应该将 GlobalSuppression.cs 文件添加到项目中并使用必要的属性填充它以抑制该特定方法的警告:
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE1006:Naming Styles", Justification = "<Pending>", Scope = "member", Target = "~M:MyNamespace.MyType.swe_calc(System.Double,System.Int32,System.Int32,System.IntPtr,System.IntPtr)~System.Int32")]
如果您选择In Source,则会将内联#pragma 编译器指令添加到相关方法周围的源代码文件中。
由于您似乎希望始终忽略此选项,因此请使用“首选项”中的第一个选项,该选项可以抑制我的警告。
至于为什么您的 SuppressMessage 属性不起作用,我认为您不能使用“*”作为目标。查看文档:https://docs.microsoft.com/en-us/visualstudio/code-quality/in-source-suppression-overview?view=vs-2017#global-level-suppressions
注意
目标始终包含完全限定的项目名称。
【讨论】:
非常感谢!最后!有趣的是:在我的情况下,首选项中 Code Rules 下的规则集是空的。很奇怪。 这很奇怪。带有该 xml 的文件应位于/Users/<username>/Library/Preferences/VisualStudio/7.0/RuleSet.global
。听起来好像在安装过程中没有发生本应发生的事情,或者可能是您安装的 VS for Mac 版本?【参考方案2】:
对于全局抑制,请将您的代码修改为:
[程序集:System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE1006:Naming Styles", Justification = "TBD", Scope = "module")]
【讨论】:
以上是关于在 Visual Studio 2017 for MAC 中抑制命名规则冲突 IDE1006的主要内容,如果未能解决你的问题,请参考以下文章
Blend for Visual Studio 2017 中不存在 3d 对象?
Visual Studio for Mac 2017 初体验
Visual Studio for Mac 2017预览版 初体验
在 Visual Studio 2017 for MAC 中抑制命名规则冲突 IDE1006