Yapı Yapılandırması: Karışık Platform VS Herhangi Bir CPU


Yanıtlar:


42

Visual Studio'da ve derleme dosyalarında bulunan derleme yapılandırma ayarını açıklamaya yardımcı olan bir bağlantı burada:

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

Temel olarak ayar, montajın hangi platformda çalışabileceğini belirtir. AnyCPU seçildiğinde, ortaya çıkan DLL her yerde çalışabilir olarak işaretlenir; x86 seçildiğinde, ortaya çıkan DLL yalnızca 32 bit sistemlerde çalışabilir olarak işaretlenir ve 64 bit uygulamalarda veya işlemlerde çalışmaz (ancak 64 bit Windows'ta çalışır;) vb.

Bu sadece derlenmiş DLL üzerinde bayrakları ayarlar - derleme sürecinin diğer yönlerini hiç değiştirmez.


1
Ayrıca, çözüm dosyası etkileşimleriyle ilgili şu bağlantıya bakın: social.msdn.microsoft.com/forums/vstudio/en-US/…
J. Polfer

49
Yine de bu "Karma Platformları" açıklamıyor gibi görünüyor.
Menace

2
@Menace Anladığım kadarıyla (kayıp bir referanstan), tüm projelerin aynı yapılandırmaya sahip olmadığı bir çözümü açtığınızda, Visual Studio çözüm yapılandırmasını Karma Platformlar olarak gösterir / seçer . (Orijinal referansı bulabilirsem, bunu bir
alıntıyla

8
Visualstudiohacks.com/articles/… bağlantısı öldü.
AH.

40

Diğer platformun zaten açıkladığı gibi. (yani 32 bit için X86, x64 yalnızca 64bit içindir ve 'Herhangi bir CPU' Her İkisinde de çalışabilir). Bunun Mixed Platformne kadar farklı olduğuna konsantre olacağım Any CPU.

Bu Any CPU, gerçek dünya çözümünde olduğu gibi, tek bir çözüm altında çok sayıda projemizin olduğu proje düzeyindedir ve bunlar, benim projemin bir kısmının kullanması Any CPU, ancak diğerlerinin x86veya x64inşa platformunu kullanması ihtimalidir .

Yani çözüm düzeyinde otomatik Mixed Platformolarak seçilecektir. bu, Build / Rebuild çözümü sırasında her projenin seçili platforma göre oluşturulduğunu gösterir.


17

Derleme yapılandırma adları çok fazla bir anlam ifade etmiyor - aynı çözümde C ++ ve C # projeleriniz varsa çoğalırlar (ve mobil projeleriniz de varsa daha da kötüsü), çünkü çeşitli proje türleri farklı yapılandırma adları kullanır, bu nedenle sonlandırırsınız. birçoğu ile.

Kullanmadığımız tüm yapılandırmaları silmeye devam ediyoruz, ancak bu zor bir iştir, bazen yeni bir proje eklediğinizde, istenmeyen yapılandırmalar çözüme geri eklenir.

Önerilerim, hangi yapılandırmalara ihtiyacınız olduğuna karar vermek (içlerindeki gerçek ayarlara bakarak) ve ardından diğer her şeyi kaldırmaktır.


10

Gönderen: bu gönderi. https://social.msdn.microsoft.com/forums/vstudio/en-US/81c72e8b-6335-4bf4-b7c0-b5c322edcaee/mixed-platforms-vs-any-cpu

Bir çözümdeki tüm projeler aynı tipte olduğunda (örneğin C # / VB projeleri), çözüm yapılandırmaları proje yapılandırmalarıyla tam olarak eşleşecektir. Uyuşmayan konfigürasyonlara / platformlara sahip bir çözümde projeleriniz olduğunda, Visual Studio "Karma Platformlar / Hata Ayıklama" ve muhtemelen "Karma Platformlar / Yayın" çözüm düzeyi yapılandırmalarını oluşturur. Bu konfigürasyonlar, sadece bireysel proje seviyesindeki konfigürasyonlara yapılan eşleştirmelerdir.

Örneğin, bir C # projeniz ve bir C ++ projeniz varsa, tipik olarak "Karışık Platformlar / Hata Ayıklama", C # projesi için "Herhangi bir CPU / Hata Ayıklama" ve C ++ projesi için "Win32 / Hata Ayıklama" ile eşleşir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.