Iis 无法加载类型';System.ServiceModel.Activation.HttpModule';来自组件';System.ServiceModel

Iis 无法加载类型';System.ServiceModel.Activation.HttpModule';来自组件';System.ServiceModel,iis,service,svc,Iis,Service,Svc,我正在IIS中运行我的Web项目 这是一个4.0框架应用程序 我有一个Service.svc,在运行应用程序时出现此错误 无法从加载类型“System.ServiceModel.Activation.HttpModule” 程序集'System.ServiceModel,版本=3.0.0.0,区域性=中性, PublicKeyToken=b77a5c561934e089'” 我尝试了这个-->aspnet_regiis.exe-iru,我在很多论坛上都找到了它,但它并没有解决我的问题 有人知道另

我正在IIS中运行我的Web项目

这是一个4.0框架应用程序

我有一个Service.svc,在运行应用程序时出现此错误

无法从加载类型“System.ServiceModel.Activation.HttpModule” 程序集'System.ServiceModel,版本=3.0.0.0,区域性=中性, PublicKeyToken=b77a5c561934e089'”

我尝试了这个-->aspnet_regiis.exe-iru,我在很多论坛上都找到了它,但它并没有解决我的问题

有人知道另一种方法吗?

好的,终于知道了

%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" />


如果这还不够的话

将以下行添加到Web.config

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

我的机器上安装了Windows 8,而aspnet_regiis.exe工具也不适用于我

对我有效的解决方案发布在这个链接上,Neha的答案是:

在任何地方,这个解决方案的问题都是通过使用aspNet_regiis.exe重新注册aspNet。但这对我不起作用

尽管这是一个有效的解决方案(如本文所述)

但它不适用于Windows8

对于Windows 8,您需要安装Windows功能并启用“.Net Framework 3.5”和“.Net Framework 4.5高级服务”下的所有功能

谢谢Neha

试一试

c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -iru
当.NET Framework的多个版本在一台计算机上并行执行时,映射到ASP.NET应用程序的ASP.NET ISAPI版本将确定应用程序使用的公共语言运行库(CLR)版本

上述命令将安装与Aspnet_regiis.exe关联的ASP.NET版本,并且仅在IIS中注册ASP.NET


在Windows server 2012中。进入ISS->模块->删除ServiceModel3-0。

您好,谢谢您的提问; 要解决此问题:“无法从程序集'System.ServiceModel,版本=3.0.0.0,区域性=中立,PublicKeyToken=b77a5c561934e089'加载类型'System.ServiceModel.Activation.HttpModule'

在Windows功能中,检查所有.NET 4高级服务和.NET 3.5

就像Nicolas Gago一样,我尝试了aspnet_regais.exe-iru,但没有成功。功能打开后,黄色屏幕错误消失。谢谢,

详细信息


“当运行IIS的计算机上有多个版本的.NET Framework时,可能会发生此错误…”

删除在.NET错误消息中标识的模块,1向下投票


在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激活

注意:这对我们来说不需要重新启动。

我是在无意中将一个网站发布到另一个网站的目录中后出现此错误的。这两个网站有不同版本的.net。为我解决这个问题的是更改应用程序池。为此,请在IIS管理器中:

单击网站=>高级设置。。。(右侧)=>单击应用程序池右侧=>应显示带有“…”的按钮=>选择.NET v4.5 Classic”


如果该应用程序池不起作用,请尝试其他应用程序池。

我们正在网站旁使用web服务,当我们发布网站时,它会返回相同的错误。我们发现,通过进入IIS并从模块中删除ServiceModel和从处理程序映射中集成的svc,错误消失了。

您可以使用以下命令在带powershell的windows server 2012上安装这些功能:

Install-WindowsFeature -Name  NET-Framework-Features -IncludeAllSubFeature
Install-WindowsFeature -Name  NET-WCF-HTTP-Activation45 -IncludeAllSubFeature
您可以使用以下命令获得功能列表:

Get-WindowsFeature | Format-Table

开始->运行-->
c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet\u regiis.exe-iru
我迟到了,希望它能帮助别人……这是IIS 8.0的一个已知问题

解决方案是从IIS管理器中删除3.x模块和处理程序。如果要将它们保留在applicationHost.config中,可以在应用程序或站点级别删除它们。但我想从applicationHost.config中删除它们。执行以下步骤:

在IIS管理器中,单击计算机名称节点。 在“功能视图”中,双击“模块”。 找到“ServiceModel”并将其删除。 解决IIS 8错误的映像1:无法加载类型“System.ServiceModel.Activation.HttpModule”

返回机器名节点的“功能视图”,双击“处理程序映射”。 找到“svc集成”并将其删除。 解决IIS 8错误的映像2:无法加载类型“System.ServiceModel.Activation.HttpModule”


您可能更改了IIS功能设置。要解决此问题,请使用“以管理员身份运行”(适用于Windows Server 2008)打开命令提示符,然后运行该命令 C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet\u regiis.exe-iru 这将设置ASP.Net 4.0,然后通过命令重置IIS iisreset

参考资料:

出现此问题是因为Windows Process Activation Service(WAS)的
Applicationhost.config
文件中有一些与.NET Framework 4.0不兼容的标记

根据您的环境,您有4种变通方法来解决此问题:

  • 正在更新Applicationhost.config
  • 执行ASP.NET IIS注册
  • 打开命名的Pip
    Get-WindowsFeature | Format-Table