Ошибки компиляции не видны, когда анализ кода установлен на TFS2010 - PullRequest
2 голосов
/ 13 сентября 2011

Я попал в руки TFS 2010, и я начинаю с попытки установить непрерывную интеграционную сборку. Для этой цели я использую шаблон сборки по умолчанию (DefaultTemplate.xml), настроенный с Code Analysis, установленным как Always.

Все работает нормально ... кроме случаев, когда это не так. При наличии ошибки в сборке (или сбое теста) единственной доступной ошибкой в ​​отчете TFS является следующая

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

Первоначальная ошибка сообщается только тогда, когда нет анализа кода. Если ошибки отсутствуют, отчеты анализа кода выводятся правильно.

Есть идеи?

Ответы [ 3 ]

5 голосов
/ 05 июня 2012

Об ошибке «Невозможно прочитать выходной отчет анализа кода»:

  • Если это происходит при компиляции в Visual Studio, возможно, путь к файлу журнала слишком длинный (Ref) .
  • Если это происходит при компиляции в сборке TFS, то это потому, что проект содержит ненужные элементы <CodeAnalysisLogFile> и <CodeAnalysisInputAssembly> (Ref) .

В нашем решении каждый проект импортирует файл Common.Targets - я намерен переопределить его и, таким образом, избежать проблемы для всех будущих проектов.

1 голос
/ 13 сентября 2011

Я ожидаю следующее:

  • Анализ кода выключен, ошибки нет: сборка в порядке
  • Анализ кода выключен, ошибка сборки: рабочий процесс не ожидает создания файла анализа кода, отображается исходная ошибка, ОК.
  • Анализ кода включен, без ошибок: вывод результатов анализа сгенерирован, и все идет нормально.
  • Анализ кода включен, ошибка сборки: из-за ошибки сборки анализ кода не выполняется, файл вывода не генерируется. Однако рабочий процесс ожидает найти выходной файл, который он не находит, и это становится основной ошибкой, зарегистрированной в исключении сборки, скрывающей исходный файл.

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

0 голосов
/ 19 сентября 2012

Я построил решение с помощью msbuild параллельно (ключ / m) на нашем CI-сервере, и возникает та же ошибка (другие ошибки, связанные с блокировкой файлов, например: Процесс не может получить доступ к файлу xyz, поскольку он используется другимпроцесс).Вывод: Удалить / м, потому что это не безопасно: - (

...