Konfiguracja kompilacji: platforma mieszana kontra dowolny procesor

92

Jaka jest różnica między różnymi, Build Configuration settingsnp. Dowolnym procesorem, platformą mieszaną, WIN32 itp. W programie Visual Studio.

Rohit
źródło

Odpowiedzi:

42

Oto link, który pomaga wyjaśnić ustawienie konfiguracji kompilacji znalezione w programie Visual Studio i jego pliki kompilacji:

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

Zasadniczo ustawienie określa, na jakiej platformie może działać zestaw. Po wybraniu AnyCPU wynikowa biblioteka DLL jest oznaczana jako zdolna do uruchomienia w dowolnym miejscu; po wybraniu x86 wynikowa biblioteka DLL jest oznaczana jako mogąca działać tylko w systemach 32-bitowych i nie będzie działać w aplikacjach lub procesach 64-bitowych (ale będzie działać w 64-bitowym systemie Windows;) i tak dalej i tak dalej.

To po prostu ustawia flagi dla skompilowanej biblioteki DLL - w ogóle nie zmienia innych aspektów procesu kompilacji.

porusan
źródło
1
Sprawdź również ten link dotyczący interakcji z plikami rozwiązań: social.msdn.microsoft.com/forums/vstudio/en-US/ ...
J. Polfer
49
Nie wydaje się to jednak wyjaśniać pojęcia „mieszanych platform”.
Groźba
2
@Menace Rozumiem (z utraconego odniesienia) jest to, że kiedy otwierasz rozwiązanie, w którym wszystkie projekty nie mają tej samej konfiguracji, program Visual Studio pokazuje / wybiera konfigurację rozwiązania jako platformy mieszane. (Jeśli znajdę oryginalne odniesienie, poprawię to,
dodając
8
Link visualstudiohacks.com/articles/… jest martwy.
AH.
40

Jak już wyjaśniła inna platforma. (tj. X86 dla wersji 32-bitowej, x64 tylko dla wersji 64-bitowej, a „Dowolny procesor” może działać w obu). Skoncentruję się na Mixed Platformczym to się różni Any CPU.

Any CPUJest ustawienie poziomu projektu, gdzie podobnie jak w prawdziwym roztworze światowej mamy szereg projektów w ramach jednego rozwiązania, a ich szanse, że niektóre z moich użytku projektu Any CPU, ale inni używa x86lub x64platformę kompilacji.

Więc na poziomie rozwiązania Mixed Platformzostanie wybrany automatycznie . Oznacza to, że podczas kompilacji / przebudowy rozwiązania każdy projekt jest kompilowany na podstawie wybranej platformy.

Neha Jain
źródło
17

Nazwy konfiguracji kompilacji nie znaczą zbyt wiele - rozprzestrzeniają się, jeśli masz projekty C ++ i C # w tym samym rozwiązaniu (a nawet gorzej, jeśli masz projekty mobilne), ponieważ różne typy projektów używają różnych nazw konfiguracji, więc kończysz z wieloma z nich.

Staramy się nadal usuwać wszystkie konfiguracje, których nie używamy, ale jest to ciężka praca, czasami gdy dodajesz nowy projekt, niechciane konfiguracje zostaną dodane z powrotem do rozwiązania.

Moje zalecenia to zdecydować, jakich konfiguracji potrzebujesz (patrząc na rzeczywiste ustawienia w nich), a następnie usunąć wszystko inne.

Will Dean
źródło
10

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

Gdy wszystkie projekty w rozwiązaniu są tego samego typu (np. Projekty C # / VB), konfiguracje rozwiązania będą dokładnie pasować do konfiguracji projektu. Gdy masz projekty w rozwiązaniu, które mają niezgodne konfiguracje / platformy, program Visual Studio tworzy konfiguracje na poziomie rozwiązania „Mieszane platformy / debugowanie” i prawdopodobnie „Mieszane platformy / wydanie”. Te konfiguracje są po prostu odwzorowaniami na indywidualne konfiguracje na poziomie projektu.

Na przykład, jeśli masz projekt w języku C # i projekt w języku C ++, zwykle „Mixed Platforms / Debug” będzie mapowane na „Any CPU / Debug” dla projektu C # i „Win32 / Debug” dla projektu C ++.

GilesDMiddleton
źródło