Не удалось загрузить тип 'System.ServiceModel.Activation.HttpModule' из сборки 'System.ServiceModel

Я запускаю свой веб-проект в IIS.

Это 4.0 Framework APP.

У меня есть Service.svc, и я получаю эту ошибку при запуске приложения.

"Не удалось загрузить тип" System.ServiceModel.Activation.HttpModule "из сборки" System.ServiceModel, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089 "

Я попробовал это → aspnet_regiis.exe -iru, который я нашел на многих форумах, и это не решило мою проблему.

Кто-нибудь знает другой метод?

Ответ 1

Попробуйте

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

Когда несколько версий.NET Framework выполняются бок о бок на одном компьютере, версия ASP.NET ISAPI, сопоставленная с приложением ASP.NET, определяет, какая версия среды CLR используется для приложения.

Команда Above будет устанавливать версию ASP.NET, связанную с Aspnet_regiis.exe, и регистрирует только ASP.NET в IIS.

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

Ответ 2

У меня на компьютере установлена ​​Windows 8, и инструмент aspnet_regiis.exe тоже не работал у меня.

Решение, которое сработало для меня, размещено по этой ссылке, на ответ Neha: Ошибка System.ServiceModel.Activation.HttpModule

Всюду проблема этого решения упоминалась как перерегистрация aspNet с помощью aspnet_regiis.exe. Но это не сработало для меня.

Хотя это правильное решение (как объяснено здесь красиво)

но он не работал с Windows 8.

Для Windows 8 вам нужны функции Windows и включите все в разделе ".Net Framework 3.5" и ".Net Framework 4.5 Advanced Services".

Спасибо Нехе

Ответ 3

Привет Спасибо за вопрос; Чтобы решить: "Не удалось загрузить тип" System.ServiceModel.Activation.HttpModule "из сборки" System.ServiceModel, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089 ""

В функциях Windows проверьте все для .NET 4 Advanced Services и .NET 3.5

enter image description here

Как и Николас Гаго, я попробовал aspnet_regiis.exe -iru, но это не сработало. После того, как функции были включены, ошибка желтого экрана исчезла. Спасибо;

Ответ 4

Вы можете установить эти функции на сервере Windows 2012 с помощью powershell, используя следующие команды:

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

Вы можете получить список функций со следующей командой:

Get-WindowsFeature | Format-Table

Ответ 5

Хорошо, наконец-то понял.

Измените эту строку в %windir%\System32\inetsrv\Config\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" />

Если этого недостаточно

Добавьте эту следующую строку в Web.config

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

Ответ 6

В Windows Server 2012. Перейдите в ISS → Модули → Удалите ServiceModel3-0.

Ответ 7

В функциях диспетчера сервера node вы также можете удалить некоторые подэлементы в .NET Framework 3.5.1, которые установлены путем активации некоторых других ролей.

Например, удалили функции активации WCF следующим образом, и наши веб-сайты вернулись:

  • [x] Особенности .NET Framework 3.5.1
    •   
    • [x].NET Framework 3.5.1  
    • [] Активация WCF     
      •       
      • [] HTTP-активация      
      • [] Активация без HTTP.    
        

Примечание: для нас не требуется перезагрузка.

Ответ 9

Я получил эту ошибку после того, как случайно опубликовал один веб-сайт в каталоге другого веб-сайта. На двух сайтах были разные версии .net. Для меня было исправлено изменение пула приложений. Для этого в диспетчере IIS:

нажмите на веб-сайт = > Дополнительные настройки... (справа) = > щелкните справа от пула приложений = > появится кнопка с "..." = > выберите ".NET v4.5 Classic",

Если этот пул приложений не работает, попробуйте другие.

Ответ 10

Мы используем веб-сервис рядом с веб-сайтом, и когда мы публикуем веб-сайт, он возвращает такую ​​же ошибку. Мы выяснили, что, перейдя в IIS и удалив ServiceModel из модулей и svc-Integrated из сопоставлений обработчиков, ошибка исчезла.

Ответ 12

удалить модуль, который указан в сообщении .Net error, 1 down vote

В Windows Server 2012. Перейдите в ISS → Модули → Удалите ServiceModel3-0. (без номера работал у меня)

Ответ 13

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