Genau wie den Vorgänger .NET Framework 4.5 nennt Microsoft auch das .NET Framework 4.5.1 ein „In-Place Update“. Das soll heißen, dass das Installationspaket ein auf dem Rechner vorhandenes .NET 4.0 oder 4.5 ergänzt und einige Interna ändert. Die Versionsnummer aller Assemblies bleibt aber an den ersten drei Stellen weiterhin gleich (4.0.30319). Lediglich an der vierten Stelle kann man .NET 4.5.1 vom Vorgänger unterscheiden (Tabelle 1). Microsoft arbeitet also auch bei .NET 4.5.1 weiterhin intern mit der Hauptversionsnummer 4.0.
Die vierteilige Versionsnummer erhält man über System.Environment.Version, während System.Runtime.InteropServices.RuntimeEnvironment.GetSystemVersion() nur die ersten drei Teile liefert. Ein „.NET 4.5“ sieht man nur im Registry-Key HKEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDPv4Full. Mit den folgenden Programmcodezeilen liest man die vorgenannten Versionsnummern aus:
Console.WriteLine(".NET-Version: " + System.Environment.Version); Console.WriteLine(".NET-Version: " + System.Runtime.InteropServices.RuntimeEnvironment.GetSystemVersion()); Console.WriteLine("Installierte .NET-Version: " + Microsoft.Win32.Registry.GetValue(@"HKEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDPv4Full", "Version", 0));
Früher einmal lieferte Microsoft jede neue .NET Framework-Version so aus, dass sie auf einem System mit anderen Versionen koexistieren konnte. Microsoft nannte dies Side-by-Side-Installation. Die Strategieänderung von der Side-By-Side-Installation zum In-Place-Update erklärte Immo Landwerth, Programm Manager bei Microsoft im .NET-Framework-Core-Team, im Rahmen eines Interviews am Rande der Visual-Studio-Evolution-Konferenz im Oktober in Neuss tatsächlich damit, dass Microsoft Speicherplatz auf den Systemen sparen will. Dies allerdings weniger vor dem Hintergrund von klassischen PCs, sondern Smartphones und Tablets.
Tabelle 1: .NET Framework 4.5 versus .NET Framework 4.51
.NET-Framework-Version | 4.5 | 4.5.1 |
Erscheinungstermin | Erscheinungstermin | Oktober 2013 |
Installationsverzeichnis | C:WindowsMicrosoft.NETFramework64v4.0.30319 | C:WindowsMicrosoft.NETFramework64v4.0.30319 (unverändert) |
DLL-Versionsnummer | 4.0.30319.17929 | 4.0.30319.18408 (erste drei Teile unverändert) |
Registry-Eintrag HKEY_LOCAL_MACHINESOFTWAREMicrosoftNETFramework SetupNDPv4Full | 4.5.50709 | 4.5.50938 |