Ошибка StyleCop SP0100 для Application_Start в Global.asax - PullRequest
3 голосов
/ 06 февраля 2012

Стиль полицейский попытается заставить вас убрать подчеркивание из Application_Start в файле Global.asax в веб-приложении mvc:

SP0100: Имя метода (общее) Application_Start не соответствуетуказанный стиль: SampleName.

Но это имя нельзя изменить, не нарушив веб-приложение (я так думаю?).

У меня возникли проблемы при написании сообщения подавления, чтобы обойти это правило, а также по какой-то причине анализатор в stylecop не находит эту ошибку [Правка - ошибка не найдена, потому что это ошибка StyleCop + ] - поэтому я не могу автоматически сгенерировать уровень модуляподавить сообщение.

Может ли кто-нибудь помочь с правильным подавляющим сообщением, которое можно использовать, чтобы обойти это?

Я пробовал что-то вроде:

[module: SuppressMessage("StyleCopPlus.StyleCopPlusRules", "SP0100:AdvancedNamingRules", Scope="member", Target="Global.asax", Justification = "Some justification")]

Но без удачи

1 Ответ

5 голосов
/ 08 февраля 2012

Во-первых, подавления 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 и применять к ним отдельные правила именования.

...