Montag, 10. Januar 2011

IIS, ASP.NET 2.0 und .NET 4.0 Assemblies

Nach dem Austausch einiger Dateien innerhalb eines virtuellen IIS Verzeichnisses das Services hosted, ereilte mich folgende Fehlermeldung:

Die Datei oder Assembly "..." oder eine Abhängigkeit davon wurde nicht gefunden. Die Assembly wird von einer Laufzeit erstellt, die aktueller als die derzeit geladene Laufzeit ist, und kann nicht geladen werden.
Die Webseite welche die Services hosted basiert noch auf ASP.NET 2.0. Wie sich herausgestellt hat, ist eine Assembly die bereits auf das .NET Framework 4 als Zielframework kompiliert war mit in den "bin"-Ordner gerutscht, in dem die Assemblies für die Services lagen.

Obwohl die .NET 4.0 Assembly in keiner anderen Assmebly referenziert oder sonst wie verwendet wird, kommt es zu dem Fehler. Es scheint, das alle Assemblies geladen werden die im bin-Ordner liegen. Die Lösung war in diesem Fall also einfach: entferene die Assembly und alles ist gut.

Fazit: .NET 4.0 - ganz oder gar nicht :-)