CodeAnalysis с использованием msbuild не дает сбоев при предупреждении/ошибке

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

Я вызываю msbuild из powershell, используя следующую команду:

"$(get-content env:systemroot)\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /tv:4.0 /p:RunCodeAnalysis=Always"

Похоже, он запускает анализ кода и выводит предупреждения, но сборка никогда не прерывается, даже после того, как я добавил <CodeAnalysisTreatWarningsAsErrors>true</CodeAnalysisTreatWarningsAsErrors> в свой файл .csproj.

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

Я что-то пропустил? Разве /p:RunCodeAnalysis=Always и установка для CodeAnalysisTreatWarningsAsErrors значения true не должны быть всем, что необходимо?


person devfunkd    schedule 13.03.2015    source источник
comment
Кроме того, я нахожу $(get-content env:systemroot) странным, поскольку Get-Content предназначен для чтения файлов. $($env:systemroot) будет работать на своем месте так же хорошо.   -  person Matt    schedule 13.03.2015
comment
Ха! Вы правы, хорошее замечание ... упс, ;)   -  person devfunkd    schedule 13.03.2015
comment
Застревание с этой проблемой каждые несколько месяцев! Наконец-то нашел решение, надеюсь, в следующий раз не забуду. См. соответствующий ответ SO.   -  person Serhii Shushliapin    schedule 09.06.2017