web-dev-qa-db-ja.com

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

異なるBuild Configuration settingsの違いは何ですか? 任意のCPU、混合プラットフォーム、WIN32など Visual Studioで。

83
Rohit

Visual Studioのビルド構成設定とそのビルドファイルの説明に役立つリンクを次に示します。

http://visualstudiohacks.com/articles/visual-studio-net-platform-target-explained/

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にフラグを設定するだけです。コンパイルプロセスの他の側面はまったく変更しません。

39
porusan

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

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

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

24
Neha Jain

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

使用していないすべての構成を削除し続けますが、新しいプロジェクトを追加すると、不要な構成がソリューションに追加されてしまうことがあります。

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

16
Will Dean

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

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

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

9
GilesDMiddleton