Jede (neuere) Windows Installation bringt eine bestimmte .NET Framework Version mit. Wenn man allerdings eine neue Version installiert und hinterher den IIS aktiviert, kommt es zu kleinen Problemen.
Welche .NET Versionen werden mit welchem Server ausgeliefert?
Ein Windows Server 2008 R2 wird mit dem .NET Framework 2.0 ausgeliefert und kann via Windows Features direkt auf .NET 3.5 aktualisiert werden.
Ein Windows Server 2012 kommt mit .NET 4.5.
IIS & .NET Versionen
Der IIS interessiert sich allerdings nur für die Runtime-Versionen – d.h. v2.0 und v4.0. Scott Hanselman hat dies in einem Blogpost genauer erklärt (damals mit .NET 3.5)
Wann kann es zu Problemen kommen?
Folgendes Szenario führte bei mir zu Problemen: Ein Windows Server 2008 R2 mit installiertem .NET Framework 4.5.
Danach wurde der IIS installiert – Resultat:
Framework war vorhanden (siehe Registry-Eintrag), aber es waren nur v2.0 AppPools im IIS vorhanden.
Ursache:
Beim Aktivieren des IIS werden nur die “mit ausgelieferten” Framework-Versionen registriert. Neuere Frameworks werden nicht automatisch im IIS registriert!
Lösung:
Der Aufruf des Befehls “aspnet_regiis.exe –i” muss genutzt werden um Framework & IIS bekannt zu machen:
Pfad zum Tool: C:\Windows\Microsoft.NET\Framework\v4.0.30319