2009-08-11 4 views
4

У нас есть решение с 15 проектами, все из которых имеют анализ кода.Как я могу подавить статический анализ кода во время сборки?

Решение легко забирает 60 секунд, чтобы построить, что очень долго, когда вы сидите в ожидании.

Если я отключу анализ кода, он будет построен за 10 секунд.

Я хотел бы иметь возможность отключить анализ кода на разовой основе. Но все же я хочу, чтобы анализ кода при создании до регистрации, а также я хочу, чтобы наш сервер сборки (Cruise Control) продолжал работать с включенным анализом кода.

Я бы предпочел, если в Visual Studio будет выполняться анализ кода, поэтому я могу перейти непосредственно к исходному коду, если получаю сообщение об ошибке/предупреждении.

ответ

9

Вот как мы это делаем:

  • Отключить (или, вернее: не включить) Анализ кода (CA) для отладки сборки.
  • Создайте новую конфигурацию сборки, называемую Verify, где включен анализ кода, а предупреждения обрабатываются как ошибки.
  • Сохраните выпуск, как есть.

Мы делаем наше нормальное развитие в режиме отладки, и просто неофициальное правило, что вы должны пройти Verify сборки, прежде чем проверить в.

Это легко забыть, но мы проводим непрерывной интеграции (CI) в сборке Verify, поэтому, если вы проверяете код с предупреждениями анализа кода, вы нарушаете сборку, поэтому люди быстро научится выполнять ручную проверку сборки перед проверкой :)

Вы также можете просто использовать Debug без CA и Release с CA, но так как включение CA определяет константу CODE_ANALYSIS, это означает, что CA Suppressions будут включены в IL, и я предпочитаю не иметь этого в моем Re (YMMV).

+0

Для получения информации о CA Suppressions в IL, проверьте http://msdn.microsoft.com/en-us/library/ms244717(VS.80).aspx –

+0

+1 Также можно сделать '/ p: CODE_ANALYSIS 'на глобальной основе на сервере CI вместо новой конфигурации VS build (и предоставить аналог equiv на рабочем столе), если у вас есть CI-машина« Commit/verification »Build Configuration, где материал в бункерах не имеет значения –

1

У нас была такая проблема с нашими вещами. Мы получили всего четыре 64-битных процессора и от 8 до 16 ГБ. Плюс мы пытались ограничить количество проектов в любой точке. Не самое изящное решение, но оно очень помогло.

Смежные вопросы