У меня есть три решения Visual Studio. Первый сконфигурирован для сборки как Release, а два других - для сборки как Debug.
При запуске простого MSBuild script явно указывая конфигурацию для сборки (отладка), первый проект по-прежнему строится как Release.
Пример script:
<Target Name="Build">
<ItemGroup>
<ProjectToBuild Include="$(SolutionsPath)\Solution1.sln"/>
<ProjectToBuild Include="$(SolutionsPath)\Core\Solution2.sln"/>
<ProjectToBuild Include="$(SolutionsPath)\UI\Solution3.sln"/>
</ItemGroup>
<MSBuild Projects="@(ProjectToBuild)"
Targets="Rebuild"
Properties="Configuration=Debug;Platform=Any CPU"/>
</Target>
Я попробовал варианты выше, такие как следующие, но я всегда получаю тот же результат.
<Target Name="Build">
<ItemGroup>
<ProjectToBuild Include="$(SolutionsPath)\Solution1.sln">
<Properties>Configuration=Debug</Properties>
</ProjectToBuild>
<ProjectToBuild Include="$(SolutionsPath)\Core\Solution2.sln">
<Properties>Configuration=Debug</Properties>
</ProjectToBuild>
<ProjectToBuild Include="$(SolutionsPath)\UI\Solution3.sln">
<Properties>Configuration=Debug</Properties>
</ProjectToBuild>
</ItemGroup>
<MSBuild Projects="@(ProjectToBuild)"
Targets="Rebuild"
Properties="Platform=Any CPU"/>
</Target>
Я отмечаю, что есть аналогичный вопрос, Задача MSBuild - сборка сбоев, потому что одно решение построено в версии вместо отладки, но это характерно для TFS и Teambuild. Я говорю о чистом MSBuild с простым файлом проекта, созданным с нуля.
Как я могу исправить эту проблему?