2009-06-11 15 views

Antwort

12

.NET-Anwendungen werden standardmäßig auf dem Framework ausgeführt, das auf die Architektur des Betriebssystems ausgerichtet ist. Wenn Sie also 32-Bit-Windows ausführen, ist das auf der Maschine installierte .NET-Framework das 32-Bit-Framework. Alle .NET-Anwendungen, die auf diesem Framework ausgeführt werden, werden dann in "32 Bit" ausgeführt.

Wenn Sie 64-Bit-Windows ausführen, dann führen Sie ein 64-Bit-Framework aus, aber die IL, die auf dem Framework ausgeführt wird, unterscheidet sich (standardmäßig) nicht von der 32-Bit-IL.

Kurz gesagt: Es spielt keine Rolle, ob Sie 32-Bit oder 64-Bit-Windows ausführen, da das .NET-Framework das vom C#/VB-Code abstrahiert.

Das Microsoft.Win32-Framework bezieht sich auf die systemeigenen APIs in Windows. Abgesehen von dem wirklich schlechten Namen, den Microsoft ihm gegeben hat, hat es nichts mit 32 Bit gegenüber 64 Bit Windows zu tun.

Im Übrigen gibt es einige Dinge, die Sie mit der 64-Bit-Version des Frameworks nicht tun können: Zum Beispiel gibt es im 64-Bit-Framework keinen JET-Datenbanktreiber.

+0

Große Antwort! Verfolgt jemand die 64-Bit-Unterschiede in .NET? --- Vielleicht ein Blog? – rasx

+0

Keine, die ich gesehen habe. Das würde mich auch interessieren. – rein

0

Aus dem gleichen Grund haben wir 64-Bit-Binärdateien im Ordner system32 in 64-Bit-Windows gespeichert.

Grundsätzlich ist das, weil Dinge in nicht für 32-Bit-Windows spezifisch sind. Warum sollten sie der Portabilität ohne Vorteile schaden?

1

"Win32" ist der Name der Plattform (d. H. Der Kern-API-Satz), unabhängig von der tatsächlichen Bissigkeit des Betriebssystems. Mit anderen Worten, machen Sie sich keine Sorgen :)

Verwandte Themen