2013-03-28 30 views
77

Sto eseguendo il mio progetto Web in IIS.Impossibile caricare il tipo 'System.ServiceModel.Activation.HttpModule' dall'assembly 'System.ServiceModel

È un'applicazione 4.0 Framework.

Ho un Service.svc e ottengo questo errore quando eseguo la mia Applicazione.

"Impossibile caricare il tipo 'System.ServiceModel.Activation.HttpModule' da assembly 'System.ServiceModel, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089'"

Ho provato questo -> aspnet_regiis.exe -iru che ho trovato in molti forum e non ha risolto il mio problema.

Qualcuno conosce un altro metodo?

risposta

139

Prova con

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

Quando più versioni di .NET Framework sono in esecuzione side-by-side su un singolo computer, la versione ISAPI di ASP.NET mappato a un L'applicazione ASP.NET determina quale versione del Common Language Runtime (CLR) viene utilizzata per l'applicazione.

Il comando Sopra installa la versione di ASP.NET associata a Aspnet_regiis.exe e registra solo ASP.NET in IIS.

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

+1

anche noi possiamo usare CMD: inserendo indirizzo, cd \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 e poi installalo : comando aspnet_regiis.exe -iru, successivamente sarebbe meglio riavviare ISS da iisreset – Ali

+2

Ciò si sta dimostrando ancora utile oggi. Avrei sperato che ora MS avrebbe risolto questo. Nel mio caso, abbiamo già un'applicazione IIS in esecuzione che utilizza il framework ASP.net 4.0. Anche se non sono proprio sicuro di ciò che il cliente ha fatto se non di aggiornare alla 4.5.1 e una serie di altri aggiornamenti, è diventato necessario rieseguire questo comando, cosa che i nostri tecnici di supporto non hanno pensato perché non hanno dovuto fare per qualche tempo. – ebol2000

+0

Questo ha funzionato per me. Grazie mille –

4

Ok, finalmente capito.

Variazione questa linea in System32/ApplicationHost.config

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

Per

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

Se questo non è sufficiente

Aggiungi questa seguente riga al web.config

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer> 
+0

Modifica della ApplicationHost.config ha funzionato per me con Windows Server 2016. Tutte le altre risposte non hanno aiutato. Grazie! – Tobias

+0

mi ha salvato grazie – Lijo

46

Ho installato Windows 8 sulla mia macchina e lo strumento aspnet_regiis.exe non ha funzionato neanche per me.

La soluzione che ha funzionato per me è pubblicato su questo link, sulla risposta da Neha: System.ServiceModel.Activation.HttpModule error

Ovunque il problema di questa soluzione è stato menzionato come ri-registrazione ASPNET utilizzando aspnet_regiis.exe. Ma questo non ha funzionato per me.

Anche se questa è una soluzione valida (come spiegato in modo bello qui)

ma non ha funzionato con Windows 8.

per Windows 8 è necessario abilitare le funzionalità di Windows e tutto sotto" .Net Framework 3.5 "e" .Net Framework 4.5 Advanced Services ".

Grazie Neha

+4

Questo consiglio è necessario anche per Windows Server 2012. –

+0

Grazie per averlo seguito. Ha funzionato alla grande per risolvere questo problema su Win 8.1 – JJMpls

+0

Grazie per la condivisione. Questo ha funzionato come un fascino per me – devC

4

Nel server Windows 2012. Vai alla ISS -> Moduli -> Rimuovi il ServiceModel3-0.

29

Ciao Grazie per la domanda; Per risolvere: "Impossibile caricare il tipo 'System.ServiceModel.Activation.HttpModule' dal assembly 'System.ServiceModel, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089'"

In Windows Features controllare tutto per .NET 4 Servizi avanzati & NET 3,5

enter image description here

Proprio come Nicolas Gago ho provato aspnet_regiis.exe -iru, ma non ha funzionato. Dopo che le funzionalità erano attive, l'errore di schermo giallo era scomparso. Grazie;

+3

Questo ha funzionato per me in Windows Server 2012 R2 - grazie! – NickG

+0

Lo stesso per Windows 8. Grazie! – NikitaBaksalyar

+0

Questo ha risolto Win8 per me. Grazie! +1 – Darbio

-1

eliminare il modulo che viene identificato in .Net messaggio di errore, 1 voto negativo

Nel server Windows 2012. Vai a ISS -> Moduli -> Rimuovi il ServiceModel3-0. (senza numero funzionante per me)

2

Dal nodo Funzionalità di Server Manager, è anche possibile rimuovere alcuni degli elementi secondari in .NET Framework 3.5.1 Funzionalità installate dall'attivazione di alcuni degli altri ruoli.

Per esempio, rimosso l'Attivazione WCF caratteristiche come segue e nostri siti web sono tornati:

  • [x] .NET Framework 3.5.1
    • [x] .NET Framework 3.5 .1
    • [] Attivazione WCF
      • [] Attivazione HTTP
      • [] L'attivazione non HTTP

Nota: questo non ha richiesto un riavvio per noi.

0

Ho ricevuto questo errore dopo aver accidentalmente pubblicato un sito Web nella directory di un altro sito Web. I due siti Web avevano versioni diverse di .net. Ciò che ha risolto il problema è stata la modifica del pool di applicazioni. Per farlo, nel gestore IIS:

fare clic sul sito Web => Impostazioni avanzate ... (a destra) => fare clic a destra di Pool di applicazioni => dovrebbe apparire un pulsante con "..." = > selezionare ".NET v4.5 Classic"

Se il pool di applicazioni non funziona, provare alcuni degli altri.

0

Stiamo utilizzando un servizio Web accanto a un sito Web e quando pubblichiamo il sito web restituisce lo stesso errore. Abbiamo scoperto che andando in IIS e rimuovendo ServiceModel dai moduli e svc-Integrated dai Mapping dell'handler l'errore è andato via.

8

È possibile installare queste funzionalità in Windows Server 2012 con PowerShell utilizzando i seguenti comandi:

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

è possibile ottenere un elenco di funzionalità con il seguente comando:

Get-WindowsFeature | Format-Table 
Problemi correlati