我有三个 Visual Studio 解决方案。第一个被配置为构建为Release,另外两个被设置为构建为Debug。
当运行一个简单的MSBuild脚本明确说明要构建的配置 (Debug) 时,第一个项目仍然构建为 Release。
示例脚本:
<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 task - Build failed 因为一个解决方案是在 release 而不是 debug 中构建的,但这是特定于 TFS 和 Teambuild 的。我说的是纯 MSBuild 和一个从头开始创建的简单项目文件。
我该如何解决这个问题?