3

Style копа будет пытаться заставить вас принять подчеркивание из Application_Start в файле Global.asax в MVC веб-приложения:StyleCop SP0100 ошибка для Application_Start в Global.asax

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

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

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

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

Я пытался что-то вдоль линий:

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

Но не повезло

+0

Работает ли он (глобально), если вы удаляете атрибуты «Scope» и «Target»? Я знаю, что это не то, что вы хотите, но ответ может помочь найти решение. –

+1

Не пробовал, но все же я не думаю, но получил его работу, поставив подавление непосредственно над Application_Start() – DevDave

+0

Ah okay. Рад, что вы разобрались. Я предлагаю вам ввести это как ответ самостоятельно и отметить его как правильное. Это облегчит другим людям поиск решения, если у них будет такая же проблема. –

ответ

5

Во-первых, StyleCop сдерживаний трудно запомнить действительно, но самый простой способ, чтобы использовать их как раз перед вашим метод или перед всем классом. В вашем случае атрибут подавления будет выглядеть следующим образом:

[SuppressMessage("StyleCopPlus.StyleCopPlusRules", "SP0100:AdvancedNamingRules", Justification = "Global ASAX method.")] 

Во-вторых, StyleCop + в настоящее время не в состоянии обнаружить глобальные методы ASAX, поэтому он рассматривает их как обычные методы и применять соответствующие правила. Учитывая, что, вероятно, можно использовать следующие правила именования для «Методы (общие)»:

$(AaBb) 
Application_$(AaBb) 
Page_$(AaBb) 
Session_$(AaBb) 

Недостатком здесь является то, что метод Application_DoWork не будет нарушена, даже не связано с глобальной ASAX.

Наконец, вы можете отправить вопрос StyleCop +, чтобы он мог отличать глобальные методы ASAX и применять к ним отдельные правила именования.

+0

- это список подачек StyleCop + в любом месте Олега? – DevDave