Я унаследовал файл решения, который использует MSBuild script для компиляции нескольких решений. Большинство проектов сконфигурированы с помощью анализа и наборов правил, и у меня есть несколько проектов с единичным тестированием, которые этого не делают.
Проекты с анализом:
<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>
Когда я запускаю свою сборку script, похоже, что некоторые проекты не соответствуют настройкам проекта:
msbuild.exe BuildScript.proj /p:SolutionRoot=%cd%; /p:Configuration=Debug /p:Platform:x86 /p:RunCodeAnalysis=True
Когда я проверяю выходную папку, я вижу результаты анализа xml для анализа проектов, для которых флаг RunCodeAnalysis установлен в false. Может кто-нибудь помочь мне понять, что здесь происходит?