Konfiguracja budowy: Mieszana Platforma VS dowolny procesor

Jaka jest różnica między różnymi Build Configuration settings np. dowolnymi procesorami, platformami mieszanymi, WIN32 itp w Visual Studio.

Author: Rohit, 2011-04-18

4 answers

Oto link, który pomaga wyjaśnić konfigurację kompilacji znajdującą się w Visual Studio i jego plikach kompilacyjnych:

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 być uruchomiony zespół. Po wybraniu AnyCPU, wynikowa biblioteka DLL jest oznaczona jako zdolna do działania w dowolnym miejscu; po wybraniu x86, wynikowa biblioteka DLL jest oznaczona jako zdolna tylko do uruchom na systemach 32-bitowych i nie będzie działać w 64-bitowych aplikacjach lub procesach (ale będzie działać w 64-bitowych Windows;) i tak dalej i tak dalej.

To po prostu Ustawia flagi w skompilowanej bibliotece DLL - nie zmienia to w ogóle innych aspektów procesu kompilacji.

 42
Author: porusan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-10-17 19:12:07

Jak już wyjaśniono w innych platformach. (tj. X86 dla 32 bitów, x64 jest tylko dla 64 bitów, a 'dowolny procesor' może działać w obu). Skupię się na Mixed Platform i czym to się różni od Any CPU.

Any CPU znajduje się na poziomie projektu, gdzie tak jak w realnym rozwiązaniu mamy wiele projektów pod jednym rozwiązaniem, a ich szanse są takie, że niektóre z moich projektów używają Any CPU, ale inne używają x86 lub x64 budują platformę.

Więc na poziomie rozwiązania automatycznie Mixed Platform zostanie wybrany. to wskazuje, że podczas budowania/przebudowy każdy projekt buduje się w oparciu o wybraną platformę.

 41
Author: Neha Jain,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-30 13:43:09

Nazwy konfiguracji kompilacji nie znaczą zbyt wiele - mnożą się, jeśli masz projekty C++ i C# w tym samym rozwiązaniu( a co gorsza, jeśli masz projekty mobilne), ponieważ różne typy projektów używają różnych nazw konfiguracji, więc kończy się ich dużo.

Staramy się usuwać wszystkie konfiguracje, których nie używamy, ale to ciężka praca czasami tak często, gdy dodasz nowy projekt, niechciane konfiguracje zostaną dodane z powrotem do rozwiązanie.

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

 17
Author: Will Dean,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-18 12:30:35

From: this 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ązań będą pasowały dokładnie do konfiguracje projektu. Gdy masz projekty w rozwiązaniu, które mają niedopasowane konfiguracje/platformy, Visual Studio tworzy konfiguracja poziomu rozwiązania " Mixed Platform/Debug " i ewentualnie "Mixed Platforms/Release". Te konfiguracje to tylko mapowanie do indywidualne konfiguracje poziomu projektu.

Na przykład, jeśli masz projekt C# i projekt C++, zazwyczaj "Mixed Platforms / Debug" mapuje do "Any CPU / Debug" dla projektu C# oraz "Win32 / Debug" dla projektu C++.

 10
Author: GilesDMiddleton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-08 16:15:03