Global.asax中Application_Start的StyleCop SP0100错误

Dev*_*ave 3 c# stylecop application-start suppressmessage asp.net-mvc-3

样式警察将试图强制您从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")]
Run Code Online (Sandbox Code Playgroud)

但没有运气

Ole*_*uev 5

首先,StyleCop抑制确实难以记住,但最简单的方法是在方法之前或整个课程之前使用它们.在您的情况下,抑制属性将如下所示:

[SuppressMessage("StyleCopPlus.StyleCopPlusRules", "SP0100:AdvancedNamingRules", Justification = "Global ASAX method.")]
Run Code Online (Sandbox Code Playgroud)

其次,StyleCop +目前无法检测Global ASAX方法,因此它将它们视为常用方法并应用相应的规则.鉴于此,您可以使用以下"方法(常规)"命名规则:

$(AaBb)
Application_$(AaBb)
Page_$(AaBb)
Session_$(AaBb)
Run Code Online (Sandbox Code Playgroud)

这里的缺点是不会违反方法Application_DoWork,即使它与Global ASAX无关.

最后,您可以向StyleCop +提交一个问题,以便它可以区分Global ASAX方法并对它们应用单独的命名规则.