Как я могу подавить статический анализ кода во время сборки? - PullRequest
4 голосов
/ 11 августа 2009

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

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

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

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

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

Ответы [ 2 ]

9 голосов
/ 11 августа 2009

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

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

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

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

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

1 голос
/ 11 августа 2009

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

...