Zitat von chiakiweiss jemand ob die .net frameworks abwärtskompatibel sind?
Ich hab das mal recherchiert: Beim .NET-Framework gibt es drei verschiedene Generationen von Bytecode, die von jeweils genau einer bestimmten Generation der CLR (Common Language Runtime) unterstützt werden.
- Die erste Generation an Bytecode ist der, der mit dem ursprünglichen .NET 1.0 2002 eingeführt wurde. Die letzte CLR für diesen Bytecode ist im .NET 1.1 SP1 enthalten.
- Die zweite Generation an Bytecode wurde mit .NET 2.0 eingeführt. Die meisten .NET-Anwendungen sind aus dieser Generation. Die letzte .NET-Version, die die CLR dafür besitzt, ist 3.5 SP1.
- Die dritte Generation wurde dieses Jahr mit .NET 4.0 eingeführt. Im Gegensatz zu den vorherigen Versionen ist diese Umgebung nicht abwärtskompatibel.
Das heißt, um alle jeweils verfügbaren .NET-Anwendungen ausführen zu können, muss man auf frisch installierten MS-Betriebssystemen folgende Runtimes installieren:
- Windows NT 4.0: .NET 1.1 SP1
- Windows 98/ME: .NET 1.1 SP1, .NET 2.0 (ohne Service Pack)
- Windows 2000: .NET 1.1 SP1, .NET 2.0 SP1
- Windows XP: .NET 1.1 SP1, .NET 3.5 SP1, .NET 4.0
- Windows Server 2003 SP2: .NET 3.5 SP1, .NET 4.0 (.NET 1.1 ist bereits enthalten)
- Windows Vista: .NET 1.1 SP1, .NET 3.5 SP1, .NET 4.0 (.NET 3.0 ist bereits enthalten)
- Windows 7: .NET 1.1 SP1, .NET 4.0 (.NET 3.5 ist bereits enthalten)
Dabei sollte man beachten, dass die .NET-1.1-Umgebung ausschließlich als 32-Bit-Software verfügbar ist und man ggf. gezwungen ist, auch .NET-2.0-Anwendungen (die ansonsten normalerweise problemlos mit einer 64-Bit-CLR funktionieren) als 32-Bit-Software auf einer 64-Bit-Plattform auszuführen, wenn man situationsbedingt .NET-1.1/2.0-Code mischen muss.