FxCop и правила анализа кода - PullRequest
7 голосов
/ 27 марта 2012

Я недавно начал использовать Анализ кода в своих проектах в Visual Studio. Я создал пользовательский набор правил, который будет использоваться со всеми моими проектами, которые включают два из определенных Microsoft наборов правил. Я работал над интеграцией FxCop в процесс сборки CI, чтобы сбой сборки, которая не соответствует всем правилам. Что действительно странно для меня, так это то, что я не могу использовать свой набор правил, чтобы определить, по каким правилам FxCop сканирует код. Как сделать так, чтобы правила анализа кода Visual Studio соответствовали правилам FxCop?

Ответы [ 2 ]

8 голосов
/ 28 марта 2012

У вас уже есть файл набора правил, который, как я полагаю, вы выяснили, как интегрировать в свои проекты и использовать его в Visual Studio.

Вы можете использовать этот же файл набора правил в FxCopCmd.exe:

FxCopCmd.exe /out:Violations.xml /ruleset:=Custom.ruleset /file:MyAssembly.dll

Я сделал это с помощью Jenkins, и он работает просто отлично.Запустите FxCopCmd.exe без аргументов, и вы должны увидеть описания всех доступных параметров командной строки.

3 голосов
/ 28 марта 2012

Для нашей сборки CI у нас есть специальная конфигурация сборки (в дополнение к стандартной отладке и выпуску), которая включает в себя запуск анализа кода (задачу MSBuild «RunCodeAnalysis», как я помню) и опцию «Считать предупреждение ошибкой».Таким образом, сборка завершается неудачно, если у нас есть ошибка FxCop, и она использует тот же набор правил, что и VS.Таким образом, вам не нужно использовать FxCopCmd и вы можете делиться наборами правил.Но вы должны вручную добавить эту конфигурацию сборки в каждый проект вашего решения.

...