出现这两个问题后,经过查找资料解决方案如下,以上两个问题,解决掉的方案对应:第一个问题——方案5,第二个问题——方案7
解决方案
1)先确认网站是基于哪个net framework;
2) 然后到“应用程序池”里找网站对应的应用程序池(右击网站->高级设置),双击程序池,看程序池是否也网站的net framework版本相同,
注意:net2.0,net3.0,net3.5对应的net framework版本都是v2.0.50727,而net4.0则基于v4.0.30319
3) 右击网站对应的应用程序池 ->高级设置 看”启用32位应用程序“,如果网站是以32编译的就要设为true,否则为false, 一般都是32编译的,所以都选为true;
4) 如果上面的配置都没错,那就到问题的本质部分,即ISAPI的配置:
a.选中网站->功能视图->双击 ISAPI筛选器;
b.查看是否有与网站所基于的framework对应的DLL, net2.0,3.0,3.5对应的DLL是ASP.Net_2.0.50727.0,net4.0是ASP.Net_4.0_32bit或ASP.Net_4.0_64bit;
c.若没有对应的DLL,有可能是没装好IIS,即漏掉了东西,如果不知选择装哪些部分,就应该完整的把整个IIS装完;
5)如果装了vs再装iis必须得对net framework 重装一次,运行cmd,输入:
6)重启一下iis,理论上应可以解决导致404.2 not found 的大部分问题了;
7)控制面板》程序和功能》打开或关闭Windows功能 > Internet信息服务 > 万维网服务 > 应用程序开发功能 > ASP.NET(看这个是否选上)
我记得我当时把二级子目录都选上了,可是最后竟然“应用程序开发功能”没有安装上。