Как подавить анализ кода сгенерированного кода? - PullRequest
10 голосов
/ 12 ноября 2010

У меня есть проект Silverlight с сгенерированным файлом Reference.cs, в котором находится ссылка на службу. Классу присваивается [GeneratedCode], и ​​в конфигурации проекта анализ кода для сгенерированного кода отключен (Release и Debug).

Что я сделал не так?

1 Ответ

14 голосов
/ 04 января 2011

Возможно, вам стоит попробовать решения, которые работают для StyleCop:

1) Поместите «.Designer.cs» в конец имени файла, который вы не хотите, чтобы StyleCop проверял. Или вызовите класс и файл, содержащий его, «NativeMethods». Убедитесь, что вы также сняли флажок «Анализировать файлы дизайнеров» в настройках StyleCop. В этом случае весь файл будет обойден. Вам не нужно делать это для некоторых типов кода, сгенерированного дизайнером Microsoft, например для Windows Forms Designer, поскольку они автоматически попадают в условия следующего параметра:

2) Окружите нежелательный фрагмент кода областью C #, содержащей в своем имени «сгенерированный код». StyleCop не проверяет сгенерированный код по умолчанию (хотя убедитесь, что параметр «Анализ сгенерированных файлов» не отмечен). В этом случае вы все еще можете проверить имена полей, созданных для элементов управления Windows Forms.

#region Windows Form Designer generated code

...

#endregion

3) Чтобы игнорировать весь сгенерированный файл, проверьте, вставляет ли ваш генератор элемент XML в заголовок файла, соответствующий StyleCop, как показано ниже:

// <auto-generated />

4) И, наконец, вы можете установить в значение true свойство «ExcludeFromSourceAnalysis» элемента компиляции MSBuild, представляющего файл, который необходимо исключить из анализа. Он работает только в том случае, если вы используете предоставленный файл целей «Microsoft.SourceAnalysis.Targets», в противном случае вы должны самостоятельно заполнить задачу StyleCop MSBuild необходимыми исходными файлами.

Источник: http://shishkin.wordpress.com/2008/07/08/stylecop-how-to-ignore-generated-code/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...