无法加载类型'System.ServiceModel.Activation.HttpModule'

use*_*292 13 asp.net iis

我运行aspnet_regiis.exe,仍然得到同样的错误:

无法从程序集'System.ServiceModel,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'加载类型'System.ServiceModel.Activation.HttpModule'.描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.异常详细信息:System.TypeLoadException:无法从程序集"System.ServiceModel,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089"加载类型"System.ServiceModel.Activation.HttpModule".

scu*_*Fun 21

如果您运行的是Windows 8,则此方法不起作用.微软不会让你运行这个命令,告诉你:

此版本的操作系统不支持此选项.管理员应该使用"打开/关闭Windows功能"对话框,服务器管理器管理工具或dism.exe命令行工具,使用IIS8安装/卸载ASP.NET 4.5.

原因在于此链接:http://support.microsoft.com/kb/2736284.

对我有用的解决方案发布在这个链接上,由Neha回答:System.ServiceModel.Activation.HttpModule错误

无处不在这个解决方案的问题是通过使用aspnet_regiis.exe重新注册aspNet.但这对我不起作用.

虽然这是一个有效的解决方案(在这里精美地解释)

但它不适用于Windows 8.

对于Windows 8,您需要Windows功能并启用".Net Framework 3.5"和".Net Framework 4.5 Advanced Services"下的所有内容.

谢谢Neha


Mat*_*att 14

将IIS服务器升级到.NET 4.5.1(之前安装了.NET 4.0)后,我遇到了同样的错误.在我的情况下,运行aspnet_regiis参数-iru修复了问题,即.

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -iru
Run Code Online (Sandbox Code Playgroud)

注意:64位系统上你应该使用

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis -iru
Run Code Online (Sandbox Code Playgroud)

笔记:

  • .NET 4.0及更高版本(例如4.5.1)全部安装到v.4.0.30319中,与早期版本相比,这已经发生了变化(您将找不到v4.5文件夹).要获取已安装的.NET框架版本,请参阅答案.

  • 此处描述了此错误的原因,如果您想手动检查,我引用本文中的以下内容:

出现此问题的原因是Windows进程激活服务(WAS)的Applicationhost.config文件定义了以下部分,并且此部分与.NET Framework 4.0不兼容:

<add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler" />

本节应定义如下(注意preCondition):

<add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, 
System.ServiceModel, Version=3.0.0.0, Culture=neutral, 
PublicKeyToken=b77a5c561934e089" 
preCondition="managedHandler,runtimeVersionv2.0" />
Run Code Online (Sandbox Code Playgroud)

注意:您可以Applicationhost.config在以下位置找到该文件:%windir%\system32\inetsrv\config

  • 我不得不更改Applicationhost.config以使其在Windows Server 2016上运行. (2认同)

小智 2

ASP.NET 4.0 似乎未在 IIS 中正确注册。您可以尝试在 IIS 中重新注册 asp.net 吗?您可以尝试 2.0 和 4.0,以确保它适用于所有 .NET 版本。

对于两个版本的 ASP.NET 使用以下命令向 IIS 注册 ASP.NET

aspnet_regiis -i

它位于两个 .NET Framework 版本文件夹中。

C:\Windows\Microsoft.NET\Framework\v4.0.30319 和 C:\Windows\Microsoft.NET\Framework\v2.0.50727


归档时间:

查看次数:

32631 次

最近记录:

6 年,11 月 前