假设我有一个包含三个项目的解决方案
SolutionA
ProjectA
ProjectB
ProjectC
整个解决方案设置为AnyCPU。但是,ProjectB是一个托管的C ++项目,我希望它(并且只有它)来构建Win32和x64。我正在使用TFS每晚执行这些构建。有没有什么好办法可以做到这一点?
答案 0 :(得分:1)
.sln文件本身无法同时在两个配置或平台中构建相同的项目。一种可能的解决方法是创建一个自定义项目,该项目将由.sln调用,并在其中调用一次projectA两次 - 使用两个不同的Platform参数值。自定义项目文件如下所示:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
</PropertyGroup>
<Target Name="build">
<MSBuild Project="ProjectA.vcxproj" Properties="Platform=Win32;Configuration=$(Configuration)" />
<MSBuild Project="ProjectA.vcxproj" Properties="Platform=x64;Configuration=$(Configuration)" />
</Target>
</Project>
为此,您需要执行以下操作。 1.在解决方案中禁用ProjectA的构建(或从.sln中删除它)。 2.将自定义项目添加到.sln。
另外,请记住,您不能将显式/ p:Platform选项传递给