ビルド構成:混​​合プラットフォームと任意のCPU


回答:


42

Visual Studioとそのビルドファイルにあるビルド構成設定を説明するリンクは次のとおりです。

http://web.archive.org/web/20151215192101/http://visualstudiohacks.com/articles/visual-studio-net-platform-target-explained/

基本的に設定は、アセンブリが実行できるプラットフォームを示します。AnyCPUを選択すると、結果のDLLはどこでも実行できるようにマークされます。x86を選択すると、結果のDLLは32ビットシステムでのみ実行可能としてマークされ、64ビットアプリケーションまたはプロセスでは実行されません(ただし、64ビットWindowsでは実行されます)など。

これは、コンパイル済みDLLにフラグを設定するだけです。コンパイルプロセスの他の側面はまったく変更されません。


1
また、ソリューションファイルの相互作用には、このリンクをチェックアウト: social.msdn.microsoft.com/forums/vstudio/en-US/...を
J. Polfer

48
これは「混合プラットフォーム」を説明しているようには見えません。
Menace

2
@Menace私は(失われた参照から)、すべてのプロジェクトが同じ構成ではないソリューションを開くと、Visual Studioがソリューション構成を混合プラットフォームとして表示/選択することを理解しています。(元の参照が見つかった場合は、これを引用で修正します。)
koan911


40

他のプラットフォームが既に説明したように。(つまり、32ビット用のX86、x64は64ビットのみで、「すべてのCPU」は両方で実行できます)。に集中しMixed Platform、これがとどのように異なるかを説明しAny CPUます。

これAny CPUはプロジェクトレベルの設定であり、実際のソリューションと同様に、1つのソリューションの下に多数のプロジェクトがあり、それらは私のプロジェクトの一部がを使用する可能性Any CPUがありますが、他の人はx86またはx64ビルドプラットフォームを使用します。

したがって、ソリューションレベルでは自動的Mixed Platformに選択されます。これは、ビルド/再ビルドソリューション中に、各プロジェクトが選択したプラットフォームに基づいてビルドされることを示しています。


17

ビルド構成名はあまり意味がありません-同じソリューションにC ++プロジェクトとC#プロジェクトがある場合(そしてモバイルプロジェクトがある場合はさらに悪いことです)、さまざまなタイプのプロジェクトが異なる構成名を使用するため、これらは増殖します。それらの多くでアップ。

私たちは使用していないすべての構成を削除し続けようとしますが、新しいプロジェクトを追加するとき、それはしばしば困難な作業です。不要な構成がソリューションに戻されます。

私の推奨事項は、必要な構成を決定し(その中の実際の設定を確認することにより)、その後、他のすべてを削除することです。


10

From:この投稿。 https://social.msdn.microsoft.com/forums/vstudio/en-US/81c72e8b-6335-4bf4-b7c0-b5c322edcaee/mixed-platforms-vs-any-cpu

ソリューション内のすべてのプロジェクトが同じタイプ(C#/ VBプロジェクトなど)の場合、ソリューション構成はプロジェクト構成と正確に一致します。構成/プラットフォームが一致しないソリューション内のプロジェクトがあると、Visual Studioはソリューションレベルの構成「混合プラットフォーム/デバッグ」および場合によっては「混合プラットフォーム/リリース」を作成します。これらの構成は、個々のプロジェクトレベルの構成へのマッピングにすぎません。

たとえば、C#プロジェクトとC ++プロジェクトがある場合、通常、「Mixed Platforms / Debug」は、C#プロジェクトの「Any CPU / Debug」とC ++プロジェクトの「Win32 / Debug」にマップされます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.