我在IIS中运行我的Web项目。
这是一个4.0 Framework APP。
我有一个Service.svc,当我运行我的应用程序时出现此错误。
“无法从中加载类型'System.ServiceModel.Activation.HttpModule' assembly'System.ServiceModel,Version = 3.0.0.0,Culture = neutral, 公钥= b77a5c561934e089' “
我试过这个 - >我在很多论坛找到的aspnet_regiis.exe -iru并没有解决我的问题。
有没有人知道另一种方法?
答案 0 :(得分:153)
尝试
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。
答案 1 :(得分:48)
我的机器上安装了Windows 8,而aspnet_regiis.exe工具也不适用于我。
对我有用的解决方案发布在此链接上,由Neha回答:System.ServiceModel.Activation.HttpModule error
通过使用aspnet_regiis.exe重新注册aspNet,提到了这个解决方案的问题。但这对我没用。
虽然这是一个有效的解决方案(正如这里所说的那样精彩)
但它无法与Windows 8一起使用。
对于Windows 8,您需要Windows功能并启用" .Net Framework 3.5"和#34; .Net Framework 4.5高级服务"。
谢谢Neha
答案 2 :(得分:34)
您好,感谢您的提问; 要解决:“无法从程序集'System.ServiceModel,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'”
加载类型'System.ServiceModel.Activation.HttpModule'在Windows功能中,检查所有.NET 4高级服务& .NET 3.5
就像Nicolas Gago一样,我尝试了aspnet_regiis.exe -iru,但它没有用。功能打开后,黄屏错误消失了。感谢;
答案 3 :(得分:9)
您可以使用以下命令在PowerShell 2012上安装这些功能:
Install-WindowsFeature -Name NET-Framework-Features -IncludeAllSubFeature
Install-WindowsFeature -Name NET-WCF-HTTP-Activation45 -IncludeAllSubFeature
您可以使用以下命令获取功能列表:
Get-WindowsFeature | Format-Table
答案 4 :(得分:4)
好的,终于明白了。
在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" />
如果这还不够
将以下行添加到Web.config
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
答案 5 :(得分:4)
在Windows Server 2012中。转到ISS - &gt;模块 - &gt;删除ServiceModel3-0。
答案 6 :(得分:4)
从服务器管理器的“功能”节点,您还可以删除通过激活某些其他角色而安装的.NET Framework 3.5.1功能下的某些子项。
例如,删除了WCF激活功能,如下所示,我们的网站又回来了:
注意:我们不需要重启。
答案 7 :(得分:1)
详细
http://msdn.microsoft.com/en-us/library/hh169179(v=nav.71).aspx
&#34;当运行IIS的计算机上有多个版本的.NET Framework时,可能会发生此错误...&#34;
答案 8 :(得分:1)
在我意外地将一个网站发布到另一个网站的目录后,我收到了此错误。这两个网站有不同版本的.net。为我修复的是更改应用程序池。为此,在IIS管理器中:
点击网站=&gt;高级设置...(右侧)=&gt;点击Application Pool =&gt;右侧带有“...”的按钮应该出现=&gt;选择“.NET v4.5 Classic”
如果该应用程序池不起作用,请尝试其他一些。
答案 9 :(得分:0)
我们在网站旁边使用网络服务,当我们发布网站时,它返回相同的错误。我们发现,通过进入IIS并从模块中删除ServiceModel以及从Handler Mappings中删除svc-Integrated,错误就消失了。
答案 10 :(得分:0)
我来晚了,希望对您有所帮助...。这是IIS 8.0的已知问题
解决方案是从IIS管理器中删除3.x模块和处理程序。如果要将它们保留在applicationHost.config中,则可以在应用程序或站点级别将其删除。但是我想从applicationHost.config中删除它们。请执行以下步骤:
在IIS管理器中,单击“计算机名称”节点。 在“功能视图”中,双击“模块”。 找到“ ServiceModel”并将其删除。 解决IIS 8错误的图片1:无法加载类型“ System.ServiceModel.Activation.HttpModule”
返回计算机名称节点的“功能视图”,双击“处理程序映射”。 找到“ svc-Integrated”并将其删除。 解决IIS 8错误的图片2:无法加载类型“ System.ServiceModel.Activation.HttpModule”
答案 11 :(得分:0)
您可能会更改IIS功能设置。通过以管理员身份运行(对于Windows Server 2008)并通过打开命令来解决的简单步骤 C:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exe -iru 这将设置ASP.Net 4.0,然后通过命令重置IIS iisreset
答案 12 :(得分:0)
出现此问题的原因是 Windows Process Activation Service (WAS) 的 Applicationhost.config
文件包含一些与 .NET Framework 4.0 不兼容的标签。
根据您的环境,您有 4 种解决方法来解决此问题:
答案 13 :(得分:-1)
删除.Net错误消息中标识的模块,1投票
在Windows Server 2012中。转到ISS - &gt;模块 - &gt;删除ServiceModel3-0。 (没有号码为我工作)
答案 14 :(得分:-1)
开始->运行-> c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -iru