未能从程序集“System.ServiceModel, Version=3.0.0.0”中加载类型“System.ServiceModel.Activation.HttpModule” 的解决办法

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jumtre/article/details/38975645

错误信息:

“/”应用程序中的服务器错误。

未能从程序集“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”。

错误原因:根据MSDN的解释:如果安装了 .NET Framework 4,随后启用了 .NET Framework 3.5WCF HTTP 激活,则会发生此错误。


解决办法:

若要解决该问题,请在 Visual Studio 2010 命令提示符下运行下面的命令行:

aspnet_regiis.exe -i -enable

或在cmd中运行:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i -enable


另:

执行此命令后命令提示符提示错误:

用于在本地计算机上安装和卸载 ASP.NET 的管理实用工具。
版权所有(C) Microsoft Corporation。保留所有权利。
开始安装 ASP.NET (4.0.30319.33440)。
此操作系统版本不支持此选项。管理员应使用“打开或关闭 Windows 功能”对话框、“服
务器管理器”管理工具或 dism.exe 命令行工具安装/卸载包含 IIS8 的 ASP.NET 4.5。有
关更多详细信息,请参见 http://go.microsoft.com/fwlink/?LinkID=216771。
ASP.NET (4.0.30319.33440)安装完毕。

原因分析:我的操作系统是64位的,网站的应用程序池选择的是“DefaultAppPool”。它的.NET CLR 版本是v4.0,托管管道模式是集成。据了解,64位操作系统托管管道模式要选择经典模式。

解决办法:在IIS中设置网站应用程序池为“.NET v4.5 Classic”。它的.NET CLR版本是v4.0,托管管道模式是经典。然后在此应用程序池的高级设置中设置“启用 32 位应用程序”的值为“True”,保存即可。(按此思路,设置“DefaultAppPool”的托管管道模式为经典也行,但是我的原则是尽量少地改动。。)

展开阅读全文

没有更多推荐了,返回首页