今天为解决WCF在IIS上部署的问题,不慎运行%windir%/Microsoft.NET/Framework/v3.0/Windows Communication Foundation/ServiceModelReg.exe" -r -y,结果所有的IIS注册模块从4.0退回到了3.0,许多4.0网站都不能打开了。错误为:
"Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'"
可能引发此问题的原因:
- 安装.NET 4后安装IIS
- 安装.NET 4后安装3.0版本的WCF HTTP Activation Module(我遇到的情况)
解决方法:
管理员身份运行4.0版本的framework下的aspnet_regiis.exe,加参数-iru即可。如:
c:/Windows/Microsoft.NET/Framework64/v4.0.30319/aspnet_regiis.exe -iru