1. 错误现象
环境:windows 2003 enterprise edition中文版;vs 2003;asp.net 1.1。
用vs2003创建一个最简单的asp.net应用程序——用向导直接创建一个,把webform1设为起始页,然后开始debug,然后就弹出一个错误对话框如下(【实时调试】异常“system.executionengineexception”在/lm/w3svc/1/root/webapplication1-2-127530596448281250中发生。可能的调试器……):
2. 尝试解决
经过查看msdn的帮助以及在网上搜索(在一个老外的blog中看到有人和我一样痛苦),我进行了n多尝试,包括:
重新安装.net framework,在win2003上不让安装,说是系统已经自带了,shit。
用站点代替虚拟目录。失败。
用system启动进程(通过修改defaultapppool > 属性 > 标识 > 预定义帐户:网络服务 -> 本地系统)。失败。
重新安装asp.net(即运行 aspnet_regiis.exe -i)。失败。
卸载iis服务以及asp.net,然后重新安装。失败。
重新安装vs2003(哭啊)。创建一个新asp.net,运行成功,重新安装petshop,运行失败,再创建新的asp.net,运行,失败。
修复安装windows2003(再哭)。创建一个新asp.net,运行成功,重新安装petshop,运行失败,再创建新的asp.net,运行,失败。
执行windows update。失败。
安装active directory,并升级作主域控制器。失败。而且还有后遗症:开机速度奇慢,在“正在网络连接”处等了有3分钟之多,my god……,后来只好把active directory干掉,再登录时竟然我原来的用户信息全丢了,要用administrator才能登录,衰,得亏我是双系统,切换到另外一个系统下把documents and settings给恢复了一下,损失才相对小了一些。
……
总之是把能想到的都进行了一遍,历时n个小时,结果还是失败。难道要我重新安装操作系统?那太残酷了……
3. 解决办法
我一直很困惑的是我在公司的机器也是同样的配置,为什么就没有这个现象呢?(应该说不是人品问题啊:))另外,在公司的机器上运行asp.net程序时要在%systemroot%\microsoft.net\framework\v1.1.4322\temporary asp.net files目录下创建临时文件,而在家里的机器上为什么没有呢?对了,可能是我没有安装.net framework的升级补丁吧?于是我急忙到msdn上下载microsoft .net framework 1.1 sp1 for 中文版windows 2003。下载页面(中文):
microsoft .net framework 1.1 service pack 1 for windows server 2003
microsoft .net framework 1.1 service pack 1
安装完 sp1 后再运行 asp.net 程序,哈哈,终于出现了下面的错误信息:
“/webapplication4”应用程序中的服务器错误。
——————————————————————————–
对路径“e:\windows\microsoft.net\framework\v1.1.4322\temporary asp.net files\webapplication4\3b932cbd\81fe9b81”的访问被拒绝
好在前几天刚摆平这个问题,给目录 e:\windows\microsoft.net\framework\v1.1.4322\temporary asp.net files 添加用户 network service,并赋予其“修改”权限,ok,大功告成。