Как интегрировать FxCop и VS 2008?

Если это дублированный вопрос, укажите мне правильную ссылку, и я удалю этот вопрос.

Я знаю, что в VS Team System я могу использовать Code Analysis, но я использую VS Professional.

Можете ли вы рассказать мне, как я могу интегрировать FxCop и Visual Studio? Я не хочу добавлять FxCopCmd.exe в мои события Post-build для запуска FxCop с каждой компиляцией. Я хочу, чтобы иметь возможность запускать FxCop, когда я выбираю, щелкнув правой кнопкой мыши по проекту в обозревателе решений.

Спасибо за вашу помощь.

Ответы

Ответ 1

Мне потребовалось некоторое время, и я наконец понял это. Это не идеально, но оно работает.

Update: Я создаю сообщение с пошаговые инструкции:

Благодаря aamit, который предоставил ссылку, которая поместила меня на правильный путь, даже это решение в статье MSDN не работает. Дайте ему +1; он этого заслуживает.

1.) В FxCop GUI сохраните ваш проект.

ВАЖНО:

  • а. Сохранить проект в том же каталоге где ваше решение.
  • б. Дайте название проекта FxCop так же, как ваше имя решения и включить расширение .sln.

Например: если ваше имя решения MySolution.sln, имя проекта FxCop будет MySolution.sln.FxCop.

2.) В Visual Studio выберите Инструменты → Внешние Toos

3.) Введите следующую информацию в диалоговом окне "Внешние инструменты":

  • Заголовок: FxCop
  • Команда: C:\Program Files\Microsoft FxCop 1.36\FxCopCmd.exe
  • Аргументы: /c /p: "$(SolutionDir)\$(SolutionFileName).fxcop" /cXsl: "C:\Program Files\Microsoft FxCop 1.36\Xml\VSConsoleOutput.xsl "
  • Начальная директория: C:\Program Файлы \Microsoft FxCop 1.36

Убедитесь, что установлен флажок "Использовать окно вывода" .

Что это. Это работает для меня. Я надеюсь, что это сработает для вас.

Ответ 3

Я запускаю команду очень похоже на Vadim как событие Post-Build для проекта. Таким образом, я получаю ошибки FxCop, как только перекомпилирую. Но наши команды почти одинаковы; приятно знать, что по крайней мере два человека в мире пришли к такому же выводу!

Ошибки отображаются в области списка ошибок Visual Studo.

"%ProgramFiles%\Microsoft FxCop 1.36\FxCopCmd.exe"
/file:"$(TargetPath)" 
/console
/dictionary:"$(SolutionDir)Res\FxCop\CustomDictionary.xml"
/searchgac 
/ignoregeneratedcode

(Вы можете опустить аргумент /dictionary, он просто указывает на один из моих пользовательских файлов словарей, поскольку FxCop помещает несколько имен переменных в качестве венгерской нотации, когда они не являются. Я также обматывал строку командой для удобочитаемости.)

Это делает сборку немного дольше, но приятно видеть ошибки сразу и настраивать параметры команды для каждого проекта. Удачи!