当我用 vs2003 调试我的 asp.net项目时,提示:
“试图运行项目时出错:无法在web 服务器上启动调试。未将项目配置为进行调试。有关更多信息,请点击帮助。”
(Error while trying to run project: Unable to start debugging on the web server.....)
好了,按我以往在 vs2005下开发的经验, 需要在IIS 管理器中对改 asp.net程序进行配置成能够debug, 当我在IIS管理器中想对我的asp.net程序进行配置时,发现如果我在“ASP.NET” 选项卡中,选择 asp.net version 为v1.1.4322时,底部的“编辑配置...(Edit configuration...)”按钮是加灰的,无法进行点击。这时我就郁闷了(怎么点不了啊,我怎么配置成能够debug啊),想了想是不是我的asp1.1没装好啊,那好 我用 WIN2003\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis -i 重新注册,结果还是不能,继续郁闷。
我又想,是不是asp2.0 跟 asp1.1有冲突呢?我就把 asp2.0 卸载了,WIN2003\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -u ,卸载之后,更晕,在IIS中,对网站点属性,“ASP.NET”的选项卡没了。这下乍整。。。
我老想不通,为什么选v2.0.50727 就可以点,选v1.1.4322就不能点,我赶紧在 microsoft 中文新闻组发了个帖子,想问个究竟,但无人问津,哎,感叹 microsoft 中文新闻组的冷场。
算了只能靠自己了。google 了一下,找到了些线索。
手工配置 web.config 加入
<compilation defaultLanguage="c#" debug="true">
好了,加了,但还是提示“未将项目配置为进行调试”。 又看了下资料,检查一下:
IIS的应用程序设置有没有使用集成windows认证,打开windows集成认证选项 (在目录安全性选项卡中身份认证和访问控制中设置)
我设了,但还是不行。
最后又检查了些设置,原来在 虚拟目录选项卡中,应用程序设置的执行权限没设对,原来是“无”,后来我改成“脚本和可执行文件”,
好了,终于可以调试了。
后记:
这个问题在网上,有线索,看了一些,有点启发,还找到了一个 asp.net版本切换的工具(ASPNETVersionSwitcher.exe),这下调试方便多了。
在win2003下asp2.0和asp1.1 的应用是没问题的,主要是配置要正确。
(差点忘了把我的v2.0.50727注册回去,WIN2003\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -ir )
回头再想想,为什么选v2.0.50727 就可以点“编辑配置...”,选v1.1.4322就不能点的问题。其实很简单,我猜的,
也许因为是 windows2003 内置的是asp2.0, 因此对v2.0.50727支持友好,对v1.1.4322不支持。
或者 mircosoft 就根本不想你用v1.1.4322了,要你用高级的,mircosoft 一向如此。
这个问题差点害我重新装系统。mircosoft Orz
线索:
在google 搜 Can't debugging in VS 2003
http://www.velocityreviews.com/forums/t99997-can-vs2003-and-visual-web-developer-2005-installed-in-the-some-machine.html
http://www.cnblogs.com/relang99/archive/2007/03/28/691864.html
http://www.cnblogs.com/relang99/archive/2007/03/27/690031.html
http://www.cnblogs.com/relang99/archive/2007/03/27/690106.html
http://blog.csdn.net/tomyao/archive/2004/09/15/104925.aspx
http://blogs.technet.com/monicaboris/archive/2006/09/06/454421.aspx
http://www.denisbauer.com/NETTools/ASPNETVersionSwitcher.aspx
关键字: vs2003 debug asp.net aspnet_regiis