Не удалось загрузить тип '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.
Примечание: для нас не требуется перезагрузка.
Ответ 8
Подробнее
http://msdn.microsoft.com/en-us/library/hh169179 (v = nav.71).aspx
"Эта ошибка может возникнуть, если на компьютере, на котором запущен IIS, есть несколько версий .NET Framework..."
Ответ 9
Я получил эту ошибку после того, как случайно опубликовал один веб-сайт в каталоге другого веб-сайта. На двух сайтах были разные версии .net. Для меня было исправлено изменение пула приложений. Для этого в диспетчере IIS:
нажмите на веб-сайт = > Дополнительные настройки... (справа) = > щелкните справа от пула приложений = > появится кнопка с "..." = > выберите ".NET v4.5 Classic",
Если этот пул приложений не работает, попробуйте другие.
Ответ 10
Мы используем веб-сервис рядом с веб-сайтом, и когда мы публикуем веб-сайт, он возвращает такую же ошибку. Мы выяснили, что, перейдя в IIS и удалив ServiceModel из модулей и svc-Integrated из сопоставлений обработчиков, ошибка исчезла.
Ответ 11
После того, как вы все сделали, и если он все еще не работает, пожалуйста, сделайте https://www.codeproject.com/Articles/613812/Solve-IIS-8-Error-Could-not-load-type-System-Servi
Ответ 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