Как подавить предупреждение StyleCop? - PullRequest
52 голосов
/ 20 июля 2010

Я использую StyleCop и хочу отключить некоторые предупреждения, которые не соответствуют моему стилю. Я предпочитаю иметь решение для

1) подавление встроенного кода
2) подавление глобальных настроек

Я искал в Интернете, но все еще не уверен , как сделать подавление.

Для метода 1) Они сказали добавить строки:

[сборка: SuppressMessage («Microsoft.Design», «SA1202: все частные методы должны быть размещены после всех открытых методов», Scope = "namespace", Target = "Consus.Client.ClientVaultModule.Services.OnlineDetection")]

Но они не говорят, где и какое пространство имен использовать.

Для метода 2) они сказали, что используют файл GlobalSuppress, но в данный момент, кажется, нелегко найти способ как это сделать.

Пожалуйста, помогите.

[Изменено] В моем случае у меня есть предупреждение о SA1202: все частные методы должны быть помещены после всех открытых методов , что мешает, так как я группирую свои связанные коды в регионы. Я хочу подавить это предупреждение только для некоторых определенных методов.

Ответы [ 12 ]

0 голосов
/ 20 июня 2019

README.md для StyleCop.Analyzers Пакет NuGet, используемый Visual Studio 2015+, содержит ссылку на документацию для правил . Документация для каждого правила содержит раздел «Как пресечь нарушения». Для правила SA1202 возможны следующие варианты:

[SuppressMessage("StyleCop.CSharp.OrderingRules", "SA1202:ElementsMustBeOrderedByAccess", Justification = "Reviewed.")]

и

#pragma warning disable SA1202 // ElementsMustBeOrderedByAccess
#pragma warning restore SA1202 // ElementsMustBeOrderedByAccess
0 голосов
/ 21 марта 2018

В дополнение к полезным ответам, уже имеющимся:

Если вы подавили предупреждение в файле подавления GlobalSuppressions.cs, вы можете отредактировать эту строку [assembly: SuppressMessage(StyleCop...blabla и полностью удалить Scope=... и Target=... теги.Это делает подавление глобальным в проекте.

...