2012-02-28 3 views
3

MSBuildからx86および「任意のcpu」プロジェクトを含むソリューションのプロジェクトをすべてビルドすることは可能ですか?MSBuildを使用してx86と「任意のcpu」プロジェクトを混在させたソリューションのすべてのプロジェクトを構築する

理想的には、プロジェクトに複数のプラットフォームがあるかどうかにかかわらず、問題なく動作するソリューションをお望みです。なぜなら、x86にデフォルト設定されているプロジェクトを追加すると明らかにならないことが多いからです。プロジェクトが構築されていません。

+0

「すべてのCPU」またはすべてを「x86」として構築したいですか? –

+0

「Any CPU」ソリューションを「Any CPU」として、x86ソリューションをx86として構築したいと考えています。 VSでプロジェクトがビルドされているときと同じように動作するといいでしょう。 – Helephant

+0

最大の問題は、MSBuildにこのような不具合があることを知っている必要があるか、プロジェクトがビルドされていない理由を理解するのに多くの時間を費やすことです。 – Helephant

答えて

0

あなたのソリューションは、あなたがターゲットにする複数のプラットフォームを持っている場合、それはあなたのtfsbuild.projファイルで構築するために複数の構成を定義することが可能です:

<ItemGroup> 
    <ConfigurationToBuild Include="$(BuildFlavour)|Any CPU"> 
    <FlavorToBuild>$(BuildFlavour)</FlavorToBuild> 
    <PlatformToBuild>Any CPU</PlatformToBuild> 
    </ConfigurationToBuild> 
    <ConfigurationToBuild Include="$(BuildFlavour)|x86"> 
    <FlavorToBuild>$(BuildFlavour)</FlavorToBuild> 
    <PlatformToBuild>x86</PlatformToBuild> 
    </ConfigurationToBuild> 
</ItemGroup> 

のMSBuildとTFSBuildはどちらかと一致するすべてのプロジェクトをビルドします構成。

2

「混在プラットフォーム」と呼ばれるソリューションレベルのプラットフォームを使用してください。 See this post

msbuild.exe MixedProjects.sln /p:"Platform=Mixed Platforms" /p:Configuration=Debug 
関連する問題