Как временно отключить анализ кода локально?
Здесь мы запускаем набор правил CA Visual Studio 2008 как локально, так и на сервере сборки. Для регистрации наши правила CA должны соответствовать политике серверов. Тем не менее, я работаю над большим решением с несколькими проектами. Сборка проекта в режиме выпуска занимает много времени с включенными правилами CA, но это необходимо при создании или редактировании модульных тестов. Это делает работу с юнит-тестами болезненной задачей. Я хотел бы иметь быстрый способ (более быстрый, чем прохождение всех проектов по отключению CA) отключить правила CA во время разработки, а затем снова включить их перед регистрацией. Кто-нибудь знает, возможно ли это??
2 ответа
Для этого я обычно создаю конфигурацию сборки "Debug No FxCop" на уровне решения, единственное различие между конфигурациями внутри проекта заключается в свойстве RunCodeAnalysis, о котором Грэм уже упоминал. Использование конфигурации сборки для этого позволит вам избежать перезагрузки вашего решения, когда вы хотите переключаться между режимами CA и не-CA.
Файл проекта (*.csproj для C#) содержит элемент, который контролирует, будет ли выполняться Анализ кода - <RunCodeAnalysis>true</RunCodeAnalysis>
, (Это можно увидеть, открыв файл проекта в текстовом редакторе или выгрузив проект в Visual Studio и выбрав "Редактировать".)
Вы можете написать скрипт (например, используя PowerShell), который будет перебирать все файлы проекта, выбирать вышеуказанный элемент с помощью XPath и переключать его значение (т.е. true
в false
и наоборот).
Этот вопрос может быть полезен.