Kai įdiegiate .NET Framework 4.0 parodomas klaidos pranešimas: "Nepavyksta įkelti tipo"System.ServiceModel.Activation.HttpModule""


Požymiai


Įsivaizduokite tokią situaciją. Įdiegiate .NET Framework 4.0. Tada galite įdiegti ankstesnę versiją .NET Framework, arba galite įgalinti .NET 3.0 WCF HTTP aktyvinimas. Tokiu atveju galite gauti tokį klaidos pranešimą kai kada paleisti programas, nuomojami, interneto informacijos tarnybų (IIS):

Nepavyko įkelti tipo "System.ServiceModel.Activation.HttpModule" iš rinkinio "" System.ServiceModel ", versija = 3.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089'.
Aprašymas: Vykdant dabartinę žiniatinklio užklausą įvyko neapdorota išimtis. Peržiūrėkite rietuvės sekimas, jei norite gauti daugiau informacijos apie klaidą ir kur ji kilo kodo.

Išimčių išsami informacija: System.TypeLoadException: nepavyko įkelti tipas "System.ServiceModel.Activation.HttpModule" iš rinkinio "" System.ServiceModel ", versija = 3.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089'.

Priežastis


Ši problema kyla dėl to, kad faile Applicationhost.config už Windows procesas aktyvinimo tarnybos (WAS) yra nustatyta šiame skyriuje, ir šiame skyriuje yra nesuderinama su .NET Framework 4.0:

< pridėti pavadinimas = "ServiceModel" type="System.ServiceModel.Activation.HttpModule," System.ServiceModel ", versija = 3.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089" išankstinė sąlyga = "managedHandler" / >

Šiame skyriuje turi būti apibrėžtas:

< pridėti pavadinimas = "ServiceModel" type="System.ServiceModel.Activation.HttpModule," System.ServiceModel ", versija = 3.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089" išankstinė sąlyga = "managedHandler, runtimeVersionv2.0" / >

Pastaba. Applicationhost.config failą galite rasti šioje vietoje:

%windir%\system32\inetsrv\config

Sprendimas


Norėdami išspręsti šią problemą, vykdykite šią komandą:

aspnet_regiis.exe /iru

Aspnet_regiis.exe failą galima rasti vienoje iš šių vietų:

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

%windir%\Microsoft.NET\Framework64\v4.0.30319 (kompiuteryje su 64 bitų)