Анализаторы Roslyn устанавливаются как пакеты nuget, которые являются зависимостями анализаторов FxCop (также устанавливаются как пакеты nuget).
Я включил полный анализ решения, как указано здесь: Как включить и отключить полный анализ решения для управляемого кода .
У меня довольно большое решение, в большинстве проектов используются анализаторы FxCop / Roslyn, а Visual Studio прекрасно работает, обычно в течение минуты.
Однако при запуске msbuild через командную строку:
"C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/MSBuild/15.0/Bin/MSBuild.exe" "C:\Source\MySolution\MySmartClient.sln" /p:Configuration=Develop;Platform="Any CPU" /
t:Build
Построение решения занимает от 4 до 15 минут. То же самое верно для сервера сборки, который использует ту же команду.
Я пробовал /p:RunCodeAnalysis=False
, и это не имеет никакого эффекта. Я также использовал монитор процессов для эмуляции команды msbuild, которую VS отправляет в msbuild без изменений.
И, согласно этому документу: Как: включить и отключить автоматический анализ кода для управляемого кода
Флажок Включить анализ кода при сборке влияет только на статический анализ кода. Это не влияет на анализаторы кода Roslyn, которые всегда выполняются при сборке, если вы установили их как пакет NuGet.
Это чрезмерное время сборки нецелесообразно. Есть ли способ отключить при использовании msbuild через командную строку?