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

StackOverflow https://stackoverflow.com/questions/1259786

Вопрос

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

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

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

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

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

Это было полезно?

Решение

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

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

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

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top