Antworten:
Hier ist ein Link, der die Build-Konfigurationseinstellung in Visual Studio und seine Build-Dateien erklärt:
Grundsätzlich gibt die Einstellung an, auf welcher Plattform die Baugruppe ausgeführt werden kann. Wenn AnyCPU ausgewählt ist, wird die resultierende DLL als überall ausführbar markiert. Wenn x86 ausgewählt ist, wird die resultierende DLL so markiert, dass sie nur auf 32-Bit-Systemen ausgeführt werden kann und nicht in 64-Bit-Anwendungen oder -Prozessen ausgeführt wird (sondern in 64-Bit-Windows ausgeführt wird;) und so weiter.
Dadurch werden nur Flags für die kompilierte DLL gesetzt - andere Aspekte des Kompilierungsprozesses werden überhaupt nicht geändert.
Wie andere Plattform bereits erklärt. (dh X86 für 32 Bit, x64 ist nur für 64 Bit und 'Jede CPU' kann in beiden ausgeführt werden). Ich werde mich darauf konzentrieren Mixed Platform
und wie sich das unterscheidet Any CPU
.
Dies Any CPU
ist auf Projektebene der Fall, wo wir wie in der realen Lösung eine Reihe von Projekten unter einer Lösung haben und es besteht die Möglichkeit, dass einige meiner Projekte verwendet werden Any CPU
, andere jedoch die Plattform x86
oder x64
Build verwenden.
Auf Lösungsebene wird also automatisch Mixed Platform
ausgewählt. Dies zeigt an, dass während der Build / Rebuild-Lösung jedes Projekt basierend auf der ausgewählten Plattform erstellt wird.
Die Build-Konfigurationsnamen bedeuten nicht viel - sie vermehren sich, wenn Sie C ++ - und C # -Projekte in derselben Lösung haben (und noch schlimmer, wenn Sie auch mobile Projekte haben), da die verschiedenen Projekttypen unterschiedliche Konfigurationsnamen verwenden, sodass Sie enden mit vielen von ihnen.
Wir versuchen, weiterhin alle Konfigurationen zu löschen, die wir nicht verwenden. Dies ist jedoch manchmal harte Arbeit, da beim Hinzufügen eines neuen Projekts unerwünschte Konfigurationen wieder zur Lösung hinzugefügt werden.
Meine Empfehlungen sind, zu entscheiden, welche Konfigurationen Sie benötigen (indem Sie sich die tatsächlichen Einstellungen darin ansehen) und dann alles andere zu entfernen.
Von: diesem Beitrag. https://social.msdn.microsoft.com/forums/vstudio/en-US/81c72e8b-6335-4bf4-b7c0-b5c322edcaee/mixed-platforms-vs-any-cpu
Wenn alle Projekte in einer Lösung vom gleichen 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 "Mixed Platforms / Debug" und möglicherweise "Mixed Platforms / Release". Diese Konfigurationen sind nur Zuordnungen zu einzelnen Konfigurationen auf Projektebene.
Wenn Sie beispielsweise ein C # -Projekt und ein C ++ - Projekt haben, wird "Mixed Platforms / Debug" normalerweise "Any CPU / Debug" für das C # -Projekt und "Win32 / Debug" für das C ++ - Projekt zugeordnet.