科技常识:win8 Could not load type System.ServiceModel.Activation.HttpModule 错误解决方案

2021-05-27 02:57:39
导读 今天小编跟大家讲解下有关科技常识:win8 Could not load type System ServiceModel Activation HttpModule 错误解决方案,相信小伙

今天小编跟大家讲解下有关科技常识:win8 Could not load type System.ServiceModel.Activation.HttpModule 错误解决方案,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关科技常识:win8 Could not load type System.ServiceModel.Activation.HttpModule 错误解决方案的相关资料,希望小伙伴会喜欢也能够帮助大家。

From:http://support.microsoft.com/kb/2015129

Symptoms

  Consider the following scenario. Youinstall the .NET Framework 4.0. Then, youinstall an earlier version of the .NET Framework, or you enable.NET 3.0 WCF HTTP Activation. In this scenario, you may receive the followingerror message when you when runapplications that are hosted on Internet Information Services (IIS):

Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.TypeLoadException: Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

Cause

  This issue occurs because the Applicationhost.config file for Windows Process Activation Service (WAS) has the following section defined, and this section is incompatible with the .NETFramework4.0:

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

  This section should be defined as follows:

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

  NoteYou can find the Applicationhost.config file in the following location:

%windir%\system32\inetsrv\config

Resolution

  To resolve this issue,run the following command line:

aspnet_regiis.exe /iru

  The Aspnet_regiis.exe file can be found in one of the following locations:

%windir%\Microsoft.NET\Framework\v4.0.30319

%windir%\Microsoft.NET\Framework64\v4.0.30319 (on a 64-bit computer)

注意

  以上方案在win8系统中无效,因为在最后一步运行aspnet_regiis.exe /iru 命令时会失败,所以解决方案是找到Applicationhost.config 文件(目录在%windir%\system32\inetsrv\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" />

  我目前只找到这种方案,如果有更好方案欢迎指出。作者:Artwl 出处:http://artwl.cnblogs.com

来源:爱蒂网

免责声明:本文由用户上传,如有侵权请联系删除!

猜你喜欢

最新文章