Konfigurasi Bangun: Platform Campuran VS Semua CPU

92

Apa perbedaan antara yang berbeda Build Configuration settingsmisalnya Setiap CPU, Platform Campuran, WIN32 dll di Visual Studio.

Rohit
sumber

Jawaban:

42

Berikut tautan yang membantu menjelaskan pengaturan konfigurasi build yang ditemukan di Visual Studio dan file build-nya:

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

Pada dasarnya pengaturan menyatakan platform apa yang dapat dijalankan perakitan. Ketika AnyCPU dipilih, DLL yang dihasilkan ditandai sebagai dapat dijalankan di mana saja; ketika x86 dipilih, DLL yang dihasilkan ditandai sebagai hanya dapat berjalan pada sistem 32-bit dan tidak akan berjalan dalam aplikasi atau proses 64-bit (tetapi akan berjalan di Windows 64-bit;) dan seterusnya dan seterusnya.

Ini hanya menetapkan flag pada DLL yang dikompilasi - ini tidak mengubah aspek lain dari proses kompilasi sama sekali.

porusan
sumber
1
Juga, lihat tautan ini pada interaksi file solusi: social.msdn.microsoft.com/forums/vstudio/en-US/…
J. Polfer
49
Ini sepertinya tidak menjelaskan "Platform Campuran".
Menace
2
@Menace Pemahaman saya (dari referensi yang hilang) adalah bahwa ketika Anda membuka solusi di mana semua proyek tidak memiliki konfigurasi yang sama, Visual Studio menunjukkan / memilih konfigurasi solusi sebagai Platform campuran. (Jika saya dapat menemukan referensi aslinya, saya akan mengubah ini dengan kutipan.)
koan911
8
Link visualstudiohacks.com/articles/… sudah mati.
AH.
40

Seperti yang sudah dijelaskan platform lain. (yaitu X86 untuk 32 bit, x64 hanya untuk 64bit, dan 'Semua CPU' dapat berjalan di Keduanya). Saya akan berkonsentrasi Mixed Platformdan bagaimana ini berbeda Any CPU.

Ada Any CPUdi pengaturan tingkat proyek, di mana seperti dalam solusi dunia nyata kami memiliki sejumlah proyek di bawah satu solusi, dan ada kemungkinan beberapa proyek saya menggunakan Any CPU, tetapi yang lain menggunakan x86ataux64 membangun platform.

Jadi pada level solusi otomatis Mixed Platformakan dipilih. hal ini menunjukkan bahwa selama solusi Build / Rebuild, setiap project dibangun berdasarkan platform yang mereka pilih.

Neha Jain
sumber
17

Nama konfigurasi build tidak terlalu berarti - mereka berkembang biak jika Anda memiliki proyek C ++ dan C # dalam solusi yang sama (dan bahkan lebih buruk lagi jika Anda memiliki proyek seluler juga), karena berbagai jenis proyek menggunakan nama konfigurasi yang berbeda, jadi Anda mengakhirinya dengan banyak dari mereka.

Kami mencoba untuk terus menghapus semua konfigurasi yang tidak kami gunakan, tetapi terkadang itu kerja keras ketika Anda menambahkan proyek baru, konfigurasi yang tidak diinginkan akan ditambahkan kembali ke solusi.

Rekomendasi saya adalah memutuskan konfigurasi apa yang Anda butuhkan (dengan melihat pengaturan sebenarnya di dalamnya), dan kemudian menghapus yang lainnya.

Will Dean
sumber
10

Dari: posting ini. https://social.msdn.microsoft.com/forums/vstudio/en-US/81c72e8b-6335-4bf4-b7c0-b5c322edcaee/mixed-platforms-vs-any-cpu

Ketika semua proyek dalam solusi memiliki tipe yang sama (misalnya proyek C # / VB) konfigurasi solusi akan cocok persis dengan konfigurasi proyek. Setelah Anda memiliki proyek dalam solusi yang memiliki konfigurasi / platform yang tidak cocok, Visual Studio membuat konfigurasi tingkat solusi "Platform Campuran / Debug" dan mungkin "Platform / Rilis Campuran". Konfigurasi ini hanyalah pemetaan ke konfigurasi tingkat proyek individu.

Misalnya, jika Anda memiliki project C # dan project C ++, biasanya "Mixed Platforms / Debug" akan dipetakan ke "Semua CPU / Debug" untuk project C # dan "Win32 / Debug" untuk project C ++.

GilesDMiddleton
sumber