样式警察会试图强制您从mvc Web应用程序的Global.asax文件中取出Application_Start中的下划线:
SP0100:方法(一般)名称Application_Start不符合 指定样式:SampleName。
但是如果不破坏Web应用程序就不能更改此名称(我认为?)。
我在编写抑制消息时无法绕过此规则,并且由于某种原因,stylecop中的分析器未找到此错误[编辑 - 找不到错误,因为它是StyleCop+错误] - 所以我无法自动生成模块级别的抑制消息。
有人可以帮助使用正确的抑制消息来解决此问题吗?
我尝试了以下方面的内容:
[module: SuppressMessage("StyleCopPlus.StyleCopPlusRules", "SP0100:AdvancedNamingRules", Scope="member", Target="Global.asax", Justification = "Some justification")]
但没有运气
答案 0 :(得分:5)
首先,StyleCop抑制确实难以记住,但最简单的方法是在方法之前或整个课程之前使用它们。在您的情况下,抑制属性将如下所示:
[SuppressMessage("StyleCopPlus.StyleCopPlusRules", "SP0100:AdvancedNamingRules", Justification = "Global ASAX method.")]
其次,StyleCop +目前无法检测Global ASAX方法,因此它将它们视为常用方法并应用相应的规则。鉴于此,您可以使用以下“方法(常规)”命名规则:
$(AaBb)
Application_$(AaBb)
Page_$(AaBb)
Session_$(AaBb)
这里的缺点是不会违反方法Application_DoWork,即使它与Global ASAX无关。
最后,您可以向StyleCop +提交一个问题,以便它可以区分Global ASAX方法并对它们应用单独的命名规则。