Я унаследовал файл решения, который использует сценарий MSBuild для компиляции нескольких решений. Большинство проектов сконфигурировано с анализом и наборами правил, а у меня есть несколько проектов модульного тестирования, которые этого не делают.
Проекты с включенным анализом:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineConstants>CODE_ANALYSIS;DEBUG;TRACE</DefineConstants>
<Optimize>false</Optimize>
<OutputPath>bin\Debug</OutputPath>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>..\OurRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>true</RunCodeAnalysis>
</PropertyGroup>
Проекты с отключенным анализом:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<Optimize>false</Optimize>
<OutputPath>bin\Debug</OutputPath>
<PlatformTarget>x86</PlatformTarget>
<RunCodeAnalysis>false</RunCodeAnalysis>
</PropertyGroup>
Когда я запускаю свою сборку скрипт, похоже, что некоторые проекты не соблюдают настройки проекта:
msbuild.exe BuildScript.proj /p:SolutionRoot=%cd%; /p:Configuration=Debug /p:Platform:x86 /p:RunCodeAnalysis=True
Когда я проверяю папку вывода, я вижу XML-результаты анализа покрытия для проектов, у которых для флага RunCodeAnalysis установлено значение false. Может ли кто-нибудь помочь мне понять, что здесь происходит?