3

Style cop 将尝试强制您在 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")]

但没有运气

4

1 回答 1

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 方法并对它们应用单独的命名规则。

于 2012-02-07T20:21:18.570 回答