web-dev-qa-db-fra.com

Impossible de charger le type 'System.ServiceModel.Activation.HttpModule' dans Assembly 'System.ServiceModel

J'exécute mon projet Web dans IIS.

C'est une application Framework 4.0.

J'ai un Service.svc et j'obtiens cette erreur quand j'exécute mon application.

"Impossible de charger le type 'System.ServiceModel.Activation.HttpModule' depuis Assembly 'System.ServiceModel, version = 3.0.0.0, Culture = neutre, PublicKeyToken = b77a5c561934e089'"

J'ai essayé ceci -> aspnet_regiis.exe -iru que j'ai trouvé dans beaucoup de forums et cela n'a pas résolu mon problème.

Est-ce que quelqu'un connaît une autre méthode?

83
Nicolas Gago

Essayer avec 

c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -iru

Lorsque plusieurs versions du .NET Framework s'exécutent côte à côte sur un seul ordinateur, la version ISAPI ASP.NET mappée à une application ASP.NET détermine la version du Common Language Runtime (CLR) utilisée pour l'application. 

La commande ci-dessus installe la version d'ASP.NET associée à Aspnet_regiis.exe et enregistre uniquement ASP.NET dans IIS.

https://support.Microsoft.com/en-us/help/2015129/error-message-after-you-install-the--net-framework-4-0-could-not-load

152
Kishan Zunjare

Windows 8 est installé sur ma machine et l'outil aspnet_regiis.exe n'a pas fonctionné pour moi non plus.

La solution qui a fonctionné pour moi est affichée sur ce lien, sur la réponse de Neha: Erreur System.ServiceModel.Activation.HttpModule

Partout le problème de cette solution a été mentionné comme ré-enregistrer aspNet en utilisant aspnet_regiis.exe. Mais cela n'a pas fonctionné pour moi.

Bien que ce soit une solution valable (comme expliqué joliment ici)

mais cela ne fonctionnait pas avec Windows 8.

Pour Windows 8, vous devez disposer de fonctionnalités Windows et tout activer sous ".Net Framework 3.5" et ".Net Framework 4.5 Advanced Services".

Merci Neha

48
scubaFun

Bonjour Merci pour la question; Pour résoudre: "Impossible de charger le type 'System.ServiceModel.Activation.HttpModule' dans Assembly 'System.ServiceModel, version = 3.0.0.0, Culture = neutre, PublicKeyToken = b77a5c561934e089'"

Dans Windows Features, vérifiez tout pour .NET 4 Advanced Services & .NET 3.5 

enter image description here

Tout comme Nicolas Gago, j'ai essayé aspnet_regiis.exe -iru mais cela n'a pas fonctionné. Une fois les fonctions activées, l'erreur d'écran jaune a disparu. Merci;

33
Catto

Vous pouvez installer ces fonctionnalités sur Windows Server 2012 avec Powershell à l'aide des commandes suivantes:

Install-WindowsFeature -Name  NET-Framework-Features -IncludeAllSubFeature
Install-WindowsFeature -Name  NET-WCF-HTTP-Activation45 -IncludeAllSubFeature

Vous pouvez obtenir une liste de fonctionnalités avec la commande suivante:

Get-WindowsFeature | Format-Table
9
Preben Huybrechts

Ok, finalement obtenu.

Changer cette ligne dans System32/ApplicationHost.config

<add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler" />

À

<add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler,runtimeVersionv2.0" />

Si cela ne suffit pas

Ajouter cette ligne suivante au Web.config

<system.webServer>
  <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
4
Nicolas Gago

À partir du nœud Fonctionnalités du gestionnaire de serveur, vous pouvez également supprimer certains des sous-éléments sous les fonctionnalités de .NET Framework 3.5.1 installées par l'activation de certains des autres rôles. 

Par exemple, supprimez les fonctionnalités d'activation WCF comme suit et nos sites Web sont revenus:

  • [x] Fonctionnalités de .NET Framework 3.5.1
    • [x] .NET Framework 3.5.1
    • [] Activation de la WCF
      • [] Activation HTTP
      • [] Activation non HTTP

Remarque: cela n'a pas nécessité de redémarrage pour nous.

4
fordareh

Sous Windows Server 2012. Allez à ISS -> Modules -> Supprimez le ServiceModel3-0.

4
NikolasKraschowetz

J'ai eu cette erreur après avoir accidentellement publié un site Web dans le répertoire d'un autre site Web. Les deux sites Web avaient des versions différentes de .net. Ce qui a résolu le problème pour moi était de changer le pool d'applications. Pour ce faire, dans le gestionnaire IIS:

cliquez sur le site Web => Paramètres avancés ... (à droite) => cliquez à droite du pool d'applications => un bouton avec "..." devrait apparaître => sélectionnez ".NET v4.5 Classic"

Si ce pool d'applications ne fonctionne pas, essayez-en d'autres.

1
quickq

Détails

http://msdn.Microsoft.com/en-us/library/hh169179(v=nav.71).aspx

"Cette erreur peut se produire lorsqu'il existe plusieurs versions du .NET Framework sur l'ordinateur qui exécute IIS ..."

1
Jnn

Nous utilisons un service Web parallèlement à un site Web et lorsque nous publions le site Web, cette erreur est renvoyée. Nous avons découvert qu'en allant dans IIS et en supprimant ServiceModel de Modules et svc-Integrated des Mappages de gestionnaires, l'erreur disparaissait.

0
Mike Donner

Je suis en retard, j'espère que cela aidera quelqu'un .... Il s'agit d'un problème connu avec IIS 8.0

La solution consiste à supprimer le module 3.x et le gestionnaire de IIS manager. Vous pouvez les supprimer au niveau de l'application ou du site si vous souhaitez les conserver dans applicationHost.config. Mais je voulais les supprimer de applicationHost.config. procédez comme suit:

Dans IIS manager, cliquez sur le nœud du nom de l'ordinateur. Dans "Vue des fonctionnalités", double-cliquez sur "Modules". Recherchez "ServiceModel" et supprimez-le. Image 1 pour résoudre IIS 8 Erreur: impossible de charger le type ‘System.ServiceModel.Activation.HttpModule '

Retournez à la “Vue des fonctionnalités” du nœud du nom de la machine, double-cliquez sur “Mappages de gestionnaires”. Trouvez "svc-Integrated" et supprimez-le. Image 2 for Solve IIS 8 Erreur: impossible de charger le type 'System.ServiceModel.Activation.HttpModule'.

0
Taran