Mir ist nicht klar, woher der Compiler automatisch weiß, dass er bei Bedarf für 64-Bit kompilieren muss. Woher weiß es, wann es sicher auf 32-Bit zielen kann?
Ich bin hauptsächlich neugierig, wie der Compiler weiß, auf welche Architektur er beim Kompilieren abzielen soll. Analysiert es den Code und trifft eine Entscheidung basierend auf dem, was es findet?
Antworten:
Microsoft hat einen Blogeintrag Was AnyCPU ab .NET 4.5 und Visual Studio 11 wirklich bedeutet :
quelle
Hier ist eine einfache Antwort:
Hinweis: AnyCPU-32bitPreferred ist nur in .NET Version 4.5 und höher verfügbar.
quelle
Project -> Properties -> Build tab -> Platform target
... Beachten Sie jedoch, dass diesAnyCPU-32bitPreferred
nur in .Net Version 4.5 und höher verfügbar ist. Deshalb ist die StandardeinstellungAnyCPU
.Der Grund ist: Für den Fall, dass Sie mit 64-Bit-Anwendungen nicht mehr Speicher verwenden möchten. Das heißt, wenn Ihre Anwendung AnyCPU ist , möchten Sie als 32-Bit ausgeführt werden.
Um weitere hinzuzufügen, zielt die Einstellung in Visual Studio auf die jeweilige CLR ab:
Weitere Informationen finden Sie im Artikel 64-Bit-Anwendungen ( MSDN ).
quelle