Глобальное отключение ошибок FxCop в TeamCity - PullRequest
2 голосов
/ 30 марта 2010

Хорошо, еще один вопрос FxCop на сегодня.

Я прочитал аргументы, касающиеся правила IdentifiersShouldBeCasedCorrectly, и того, должно ли оно быть "XML" или "Xml". Ну, я парень "XML" и хочу оставаться таким. Поэтому я не хочу, чтобы FxCop постоянно меня исправлял.

Я использовал атрибут SuppressMessage только для определенных случаев. Я также использовал FxCop, чтобы отметить кучу ошибок и скопировал их как операторы SuppressMessage уровня «модуля» в assemblyinfo.cs. Это работает очень хорошо.

Однако теперь я действительно хочу глобально отключить это надоедливое правило IdentifiersShouldBeCasedC корректно. Я использую TeamCity 5.0.3 и не использую файл проекта FxCop (однако я мог бы сделать это). Я надеялся, что смогу передать параметр в FxCopCmd, чтобы он проигнорировал эту ошибку, но это не выглядит так из документации.

Итак ... могу ли я что-нибудь сделать, кроме создания файла проекта FxCop на сервере сборки TeamCity и его использования для сборщика FxCop?

1 Ответ

0 голосов
/ 30 марта 2010

Посмотрите в каталоге установки FxCop (у меня есть c: / program files / microsoft fxcop 1.36). В этом каталоге должен быть файл CustomDictionary.xml. Вы можете добавить XML в раздел CasingExceptions в конце CustomDictionary.xml, а регистр XML будет игнорироваться для всех элементов пространства имен и имен функций всех проектов на этом компьютере (если, конечно, CustomDictionary.xml не будет переопределен в командной строке).

Вы также можете скопировать CustomDictionary.xml в каталог проекта и добавить XML в разделе CasingExceptions копии каталога проекта. Я думаю, что это будет найдено автоматически, без необходимости файла проекта FxCop и будет использоваться только для этого проекта.

Это то, что я сделал для нашей сборки TeamCity, но мне понадобился файл проекта FxCop по другой причине, поэтому я не могу вспомнить (и не могу проверить), будет ли CustomDictionary.xml автоматически найден FxCop.

Пример:

  <Acronyms>
<CasingExceptions>
  <Acronym>Pi</Acronym>
  <Acronym>Na</Acronym>   <!-- NaN -->
  <Acronym>NESW</Acronym> <!-- North East South West -->
  <Acronym>NWSE</Acronym> <!-- North West South East -->
  <Acronym>XML</Acronym> <!-- XML -->
</CasingExceptions>

Существует также немного другой пример игнорирования слов в MSDN FxCop FAQ Надеюсь, это поможет!

...