解决windows调试net程序出现“未能从程序集“System.ServiceModel”中加载类型“System.ServiceModel.Activation.HttpModule””的解决办法
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
今天在解决net的一个程序的时候,环境配置完,竟然出现了以下错误:
错误描述:
未能从程序集“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”。
问题原因:
安装IIS的时候自带.net4.0,随后又添加了功能 .NET Framework 3.5 WCF HTTP 激活,则会发生此错误。
解决办法:
PS:以下所有运行cmd,都建议使用管理员模式;进入C:\Windows\System32 找到cmd.exe然后右键管理员模式运行(具体看图);
在服务器的运行输入cmd命令中切换到.net4.0的目录,一般在c:\windows\.net4.0目录下 执行aspnet_regiis.exe -i -enable 即可。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i -enable
问题原因参见:
MSDN提供的疑难解答 http://msdn.microsoft.com/zh-cn/library/aa751852.aspx 页面底部分给出了说明和解决方案。
也可以使用此解决办法:
只需要管理员用户在cmd中运行aspnet_regiis.exe -i即可;
打开cmd命令运行窗口,复制下面的命令运行即可:
C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/aspnet_regiis.exe -i
具体请参阅站内文章 图解在IIS里重新注册NET4.0(.NET Framework 4.0)(windows7–windows 2019均可){包含运行NET出现错误 404.2错误的解决方式}(可以直接打开观看)
按照以上的方式即可解决此问题:
PS延伸阅读,如果依然有问题,可以继续使用以下的办法:
1、首先,找到配置文件applicationHost.config,文件路径: %windir%/system32/inetsrv/config/
2、打开文件,找到 ServiceModel配置项
3、在managedHandler 加上“,runtimeVersionv2.0" ,保存文件(如下图)
4、然后,在命令提示符CMD上打开地址 C:\Windows\Microsoft.NET\Framework\v4.0.30319
输入aspnet_regiis.exe -iru 注册ASP.NET IIS
输入aspnet_regiis.exe -iru 注册ASP.NET IIS
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!