webentwicklung-frage-antwort-db.com.de

Build-Konfiguration: Gemischte Plattform VS Beliebige CPU

Was ist der Unterschied zwischen verschiedenen Build Configuration settings z.B. Beliebige CPU, gemischte Plattform, WIN32 usw. in Visual Studio.

83
Rohit

Hier ist ein Link, der die Build-Konfigurationseinstellung in Visual Studio und seinen Build-Dateien erläutert:

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/

Grundsätzlich gibt die Einstellung an, auf welcher Plattform die Assembly ausgeführt werden kann. Wenn AnyCPU ausgewählt ist, wird die resultierende DLL als lauffähig markiert. Wenn x86 ausgewählt ist, wird die resultierende DLL als nur lauffähig markiert Auf 32-Bit-Systemen und nicht in 64-Bit-Anwendungen oder -Prozessen (sondern in 64-Bit-Windows;) usw. ausgeführt.

Dies setzt nur Flags auf der kompilierten DLL - es ändert überhaupt keine anderen Aspekte des Kompilierungsprozesses.

39
porusan

Wie andere Plattform schon erklärt. (d. h. X86 für 32-Bit, x64 nur für 64-Bit und "Beliebige CPU" kann in beiden ausgeführt werden). Ich werde mich auf Mixed Platform Konzentrieren und wie sich dies von Any CPU Unterscheidet.

Das Any CPU Befindet sich auf der Projektebene, wo wir wie in der realen Welt die Anzahl der Projekte unter einer Lösung haben und es besteht die Möglichkeit, dass einige meiner Projekte Any CPU Verwenden, andere jedoch das Build-Plattform x86 Oder x64.

Auf Lösungsebene wird also automatisch Mixed Platform Ausgewählt. Dies zeigt an, dass während der Erstellung/Neuerstellung jedes Projekt auf der Grundlage der ausgewählten Plattform erstellt wird.

24
Neha Jain

Die Build-Konfigurationsnamen haben wenig Bedeutung - sie nehmen zu, wenn Sie C++ - und C # -Projekte in derselben Projektmappe haben (und noch schlimmer, wenn Sie auch mobile Projekte haben), da die verschiedenen Projekttypen unterschiedliche Konfigurationsnamen verwenden mit vielen von ihnen.

Wir versuchen, weiterhin alle Konfigurationen zu löschen, die wir nicht verwenden. Wenn Sie jedoch ein neues Projekt hinzufügen, ist dies oftmals harte Arbeit. Unerwünschte Konfigurationen werden dann wieder zur Projektmappe hinzugefügt.

Meine Empfehlungen sind, zu entscheiden, welche Konfigurationen Sie benötigen (indem Sie die tatsächlichen Einstellungen in ihnen betrachten), und dann alles andere zu entfernen.

16
Will Dean

Von: diesem Beitrag. https://social.msdn.Microsoft.com/forums/vstudio/en-US/81c72e8b-6335-4bf4-b7c0-b5c322edcaee/mixed-platforms-vs-any-cp

Wenn alle Projekte in einer Lösung vom selben Typ sind (z. B. C #/VB-Projekte), stimmen die Lösungskonfigurationen genau mit den Projektkonfigurationen überein. Sobald Sie Projekte in einer Lösung haben, deren Konfigurationen/Plattformen nicht übereinstimmen, erstellt Visual Studio die Konfiguration (en) auf Lösungsebene "Gemischte Plattformen/Debugging" und möglicherweise "Gemischte Plattformen/Release". Diese Konfigurationen sind nur Zuordnungen zu einzelnen Konfigurationen auf Projektebene.

Wenn Sie beispielsweise ein C # -Projekt und ein C++ - Projekt haben, wird "Gemischte Plattformen/Debug" normalerweise "Beliebige CPU/Debug" für das C # -Projekt und "Win32/Debug" für das C++ - Projekt zugeordnet.

9
GilesDMiddleton