Не удалось загрузить систему типа".Средство 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.
У меня есть 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
Так же, как Николас Гаго, я попробовал 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>
в узле компоненты диспетчера серверов можно также удалить некоторые подэлементы в компонентах .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. (без номера работал на меня)