【转】"无法在web服务器上启动调试"的解决方法(VS2008 + IIS + Windows XP SP3)

问题描述:

使用vs2008新建http站点,按F5调试时,出现如下错误提示:
无法在web服务器上启动调试,<html><head><title> Server Application Error</title></head><body><h1>Server Application Error</h1>The server has encountered an error while loading an application during the kprocessing of your request. Please refer to the event log for more detail information. Please contact the server administrator for assistance.</body></html>
确保服务器操作正确。请通过执行“调试”->“Debug.Start Without Debugging”验证web.config中没有语法错误。

 

方案一:
1、确认在“配置属性”中的“启用ASP.NET调试 "为 "True "
2、确认你的 "web.config "中的 "debug=true "
3、若你安装过wind2000   SP4后,则要在命令行执行 "regsvr32   i   aspnet_isap.dll "   
4、在IIS里查看站点信息,选中 "目录安全性 ",里面有 "匿名访问和身份验证控制 ",再点击 "编辑.. ",确认 "集成Windows身份验证 "选项被选中   
5、在IE选项-> "安全设置 "-> "自定义级别 "里有 "用户验证 ",确认选中 "自动使用当前用户名和密码登录 "   
6、运行C:\WINNT\Microsoft.NET\Framework\v1.0.3705\aspnet_regiis.exe   -i   
7、控制面板--管理工具--计算机管理--本地用户和组--用户,双击ASPNET用户,为其隶属于添加Administrators用户   
以上操作最管用的就是第5步和第7步。   

如果出现下面的错误信息:   
“无法在WEB服务器上启动调试,未将项目配置为进行调试”.   

一般估计是把项目直接拷过来打开,要重新配置一下IIS   
控制面板-〉internet服务管理器-〉默认的web站点-〉你的项目目录-〉属性-〉应用程序设置-〉应用程序名-〉“创建”

把页头的 <%@Page   %> 和web.config里的Debug都改成true,VS2005里在你第1次运行时才询问你是否生成web.config,你可以在运行前手动添加~

方案二:
此方案的作用是设置IUSR_机器名和IWAM_机器名两个用户设置相同的密码,详细设置步骤可进一步去百度查!
1、右键我的电脑--管理--本地用户和组,给IUSR_机器名和IWAM_机器名两个用户设置密码,要一样。
2、开始--运行--打cmd, 然后cd D:InetpubAdminscripts(我的系统在D盘), 然后cscript.exe adsutil.vbs set w3svc/wamuserpass 你的密码, 然后cscript.exe adsutil.vbs set w3svc/anonymoususerpass 你的密码
   看一下,行了没有?如果还不行,那么
  cscript.exe synciwam.vbs -v,
  然后iisreset。这样应该就可以了,但是如果最后一步提示8004e00f的错误,此错误是MSDTC服务不正常造成的,那么请参照方案三。

方案三:
1、进入组件服务,查看组件服务/计算机/我的电脑/COM+应用程序,结果报错“COM+ 无法与 Microsoft 分布式事务协调程序交谈”,无法查看里面的对象。
2、进入事件查看器,发现msdtc服务没有正常启动。
3、删除注册表中的键:
· HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSDTC
· HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSDTC
· HKEY_CLASSES_ROOTCID
4、停止MSDTC服务:net stop msdtc
5、卸载MSDTC服务:msdtc -uninstall
6、重新安装MSDTC服务:msdtc -install
7、确认在事件查看器中msdtc服务已经正常启动[这步很关键,如果没有,重新启动下电脑看看]
8、重新设置IIS的IWAM账号密码。[在计算机管理中的用户管理里]
9、同步IIS metabase中IWAM_MYSERVER的密码,在CMD中:c:inetputadminscripts>adsutil set w3svc/wamuserpass "yourpassword"
10、同步COM+应用程序所用的IWAM_MYSERVER密码,在CMD中:c:inetputadminscripts>cscript synciwam.vbs -v
----------------------------------------------------------------------------------------------------------------------------
到这部分网上大部分都说可以了,但是我这里虽然没有8004e00f的错误提示了,但是访问页面Server Application Error 错误依旧,最后终于找到了解决方法如下:
解决办法:
[1]:
检查你的DTC服务(全名:Distributed Transaction Coordinator)是否可以正常启动,
如果正常的话请你跳过此步骤;如果出错,无法正常启动,请在开始菜单的运行中 运行:msdtc -resetlog 以创建日志文件。重起机器,检查IIS是否可以正常使用,若不行继续。
[2]:
在CMD下执行以下命令:
cd C:\windows\system32\inetsrv
rundll32 wamreg.dll, CreateIISPackage
regsvr32 asptxn.dll
----------------------------------------------------------------------------------------------------------------------------
aspnet_wp.exe  (PID: 4052)意外停止的处理:
IIS-》属性-》权限向导-》继承所有安全性设置。

解决方法:

posted @ 2011-09-29 12:51  temptation  阅读(963)  评论(0编辑  收藏  举报