Feilmelding når du har installert .NET Framework 4.0: "Kan ikke laste inn type 'System.ServiceModel.Activation.HttpModule'"


Symptomer


Tenk deg følgende. Du har installert .NET Framework 4.0. Deretter, du har installert en tidligere versjon av .NET Framework eller .NET 3.0 WCF HTTP Activation aktiveres. I dette scenariet kan du få følgende feilmelding når du når du kjører programmer som er vert for Internet Information Services (IIS):

Kan ikke laste inn type 'System.ServiceModel.Activation.HttpModule' fra samlingen ' System.ServiceModel, versjon = 3.0.0.0, Culture = nøytral, PublicKeyToken = b77a5c561934e089'.
Beskrivelse: Det oppstod et ubehandlet unntak under kjøring av gjeldende webforespørsel. Gå gjennom stakksporingen Hvis du vil ha mer informasjon om feilen og hvor den oppstod i koden.

Unntaksdetaljer: System.TypeLoadException: kan ikke laste inn type 'System.ServiceModel.Activation.HttpModule' fra samlingen ' System.ServiceModel, versjon = 3.0.0.0, Culture = nøytral, PublicKeyToken = b77a5c561934e089'.

Årsak


Dette problemet oppstår fordi Applicationhost.config-filen for prosessen Service WAS (Windows Activation) har følgende del definert, og denne delen er ikke kompatibel med .NET Framework 4.0:

< Legg til navn = "ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel, versjon = 3.0.0.0, Culture = nøytral, PublicKeyToken = b77a5c561934e089" Forhåndsvilkår = "managedHandler" / >

Denne delen bør defineres slik:

< Legg til navn = "ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel, versjon = 3.0.0.0, Culture = nøytral, PublicKeyToken = b77a5c561934e089" Forhåndsvilkår = "managedHandler, runtimeVersionv2.0" / >

Obs! Du kan finne Applicationhost.config-filen på følgende sted:

%windir%\system32\inetsrv\config

Løsning


Hvis du vil løse dette problemet, kjører du følgende kommandolinje:

aspnet_regiis.exe /iru

Du finner filen Aspnet_regiis.exe i ett av følgende steder:

%windir%\Microsoft.NET\Framework\v4.0.30319

%windir%\Microsoft.NET\Framework64\v4.0.30319 (på en datamaskin med 64-biters)