将 IIS 服务器升级到 .NET 4.5.1(之前安装了 .NET 4.0)后,我遇到了同样的错误。就我而言,aspnet_regiis
使用参数运行-iru
解决了问题,即。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -iru
注意:在64 位系统上,您应该使用
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis -iru
笔记:
出现此问题的原因是 Windows Process Activation Service (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" />
注意:您可以Applicationhost.config
在以下位置找到该文件:%windir%\system32\inetsrv\config