Не удалось загрузить систему типа".Средство servicemodel.Активация.HttpModule 'из сборки' системы.Средство servicemodel

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

Это приложение 4.0 Framework.

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

"не удалось загрузить тип System.Средство servicemodel.Активация.HttpModule ' из система сборки.ServiceModel, версия=3.0.0.0, культура=нейтральная, PublicKeyToken=b77a5c561934e089'"

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

кто-нибудь знает другой способ ?

11 ответов


попробовать

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

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

выше команда установит версию 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


У меня есть Windows 8, установленный на моей машине, и aspnet_regiis.инструмент exe не работал для меня.

решение, которое сработало для меня, опубликовано по этой ссылке, на ответ Неха:система.Средство servicemodel.Активация.Модуль httpmodule ошибка

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

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

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

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

Спасибо Неха


Привет Спасибо за вопрос; Чтобы решить: "не удалось загрузить тип" система.Средство servicemodel.Активация.HttpModule 'из сборки' системы.ServiceModel, версия=3.0.0.0, культура=нейтральная, PublicKeyToken=b77a5c561934e089'"

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

enter image description here

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


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

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

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

Get-WindowsFeature | Format-Table

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

изменить эту строку в 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" />

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

добавьте следующую строку в интернет.config

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

в Windows server 2012. Перейдите к ISS - > модули - > удалить ServiceModel3-0.


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

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

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

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


подробности

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

" эта ошибка может возникнуть при наличии нескольких версий .NET Framework на компьютере, на котором выполняется IIS..."


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

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

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


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


удалить модуль, который идентифицируется в сообщении об ошибке .Net, 1 вниз голосовать

в Windows server 2012. Перейдите к ISS - > модули - > удалить ServiceModel3-0. (без номера работал на меня)