Я получил следующую ошибку при компиляции проекта c ++ (анализ кода включен) с помощью Build Tools 2017 в контейнере Windows «windowservercore».
Запуск анализа кода для C / C ++ ...
c1xx: ошибка C2220: предупреждение обрабатывается как ошибка - файл «объекта» не создан [C: \ jenkins \ workspace \ ABC-DEV \ ABC \ ABC.vcxproj]
c1xx: фатальная ошибка C1250: невозможно загрузить плагин 'C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ bin \ localespc.dll'.[C: \ jenkins \ workspace \ ABC-DEV \ ABC \ ABC.vcxproj]
Сценарий компиляции:
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" x64
"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe" C:\Work\ABC.sln /p:configuration=Release /p:platform=x64 /t:rebuild
Я отредактировал ABC.vcxproj, как показано ниже, и ошибку C2220и C1250 разрешены.
<RunCodeAnalysis>false</RunCodeAnalysis>
<EnablePREfast>false</EnablePREfast>
, но я попытался выполнить следующую команду компиляции, чтобы динамически отключить анализ кода, но получил другую ошибку.
"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe" C:\Work\ABC.sln /p:configuration=Release /p:platform=x64 /p:RunCodeAnalysis=false /t:rebuild
c1xx: фатальная ошибка C1253: невозможнозагрузить файл модели 'res: //mspft140.dll/300'.
Есть ли опция MSBuild, чтобы отключить анализ кода для проекта c ++ без редактирования файла проекта?
Обновление:
Помещение Directory.Build.props в каталог файла ABC.sln не отключает анализ кода.
Directory.Build.props
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<RunCodeAnalysis>false</RunCodeAnalysis>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
</Project>
Вот ABC.vcxproj после того, как я снял флажок «Включить анализ кода при сборке».
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<RunCodeAnalysis>false</RunCodeAnalysis>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>