这个问题已经让我郁闷很久了,之前解决一次忘一次,网上的文章更是千奇百怪,难以找到有用的信息,今天在此做个记录,方便你我他。
我的环境:win7或者win8,Microsoft Visual 2010
首先分为两种情况,一种是以win7及win7以前的平台作为服务器,另一种就是以win8以及win10的平台作为服务器。
第一种情况,用管理员方式打开命令提示符,输入命令:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i -enable,在IIS上注册.net frmework v4.0,注册成功后,重新启动IIS,就可以了。如果提示没有.net framework v4.0安装包,则需要自行去下载安装包,然后安装后在注册。
第二种情况,输入第一种情况中的命令后,会报出如下错误:
出现上述问题的原因是:
操作系统是Win8 64位的,网站的应用程序池选择的是“DefaultAppPool”。它的.NET CLR 版本是v4.0,托管管道模式是集成。据了解,64位操作系统托管管道模式要选择经典模式。
因此,我们可以这样做:
在IIS中设置网站应用程序池为“ITOO.ExamEVal4.0”。它的.NET Framework 版本是v4.0,托管管道模式是Classic。然后在此应用程序池的高级设置中设置“启用 32 位应用程序”的值为“True”,保存即可。
至此,重新启动网站,即可成功打开svc。
另外,注意一点,关于是否成功注册v2.0 v4.0的标识,可以在这里看到,成功注册后,这里会自己添加上的,手动添加的无效。看下图: