如何在Visual Studio 2008中调试/运行经典的ASP页面?

7
每当我在VS2008运行网站时尝试打开经典的ASP页面时,会出现错误:“不提供此类型的页面”。
如何在Visual Studio 2008中调试/运行经典的ASP页面?
AnthonyWJones给出了正确的答案,但由于某种原因它不让我选择答案。
这里是我找到的一个教程,详细介绍了如何设置VS2008和XP以调试经典的ASP:http://www.codeproject.com/KB/debug/DebugVBScriptVS2008.aspx
4个回答

13

开发者 Web 服务器(Cassini)仅支持 ASP.NET 和静态内容。

您需要在开发计算机上运行 IIS 实例。

Windows XP

在 Windows XP 上,您需要修改默认网站,使其主目录指向您的网站根文件夹,或创建一个新的虚拟目录并将其配置为应用程序。在任一情况下,您都需要将应用程序隔离设置为“高”。

直接使用浏览器访问您的网站,然后在 VS 2008 中使用“调试”->“附加到进程”命令。您需要附加到进程名称为“DLLHOST.EXE”的进程。其中会有多个进程,但最有可能只有一个在 Type 列中包含“脚本”(Script)这个词,那就是您想要的。确保进程列表上方的“附加到”框中包含“脚本”这个选项。

Vista/Windows 7

Vista 和 Windows 7 将使用 IIS7,并允许您创建一个新站点(如果您愿意)。确保应用程序有自己的应用程序池。

然后的步骤基本相同,只不过您需要找到 W3WP.exe 进程。如果有多个进程显示类型为“脚本”(Script),则可以附加到所有这些进程。


有了这个设置,您就可以设置断点、检查异常和执行所有正常的脚本调试操作。


你能否详细阐述一下这个答案?有些无关紧要的句子,“你的网站根目录”我的网站根目录?还是我的网站的根目录?我的“sites”根目录是什么,或者“我的网站”的根目录是什么?如何调试在浏览器请求前发生的问题? - Ian Boyd
@Ian:在这个上下文中,根文件夹是指Web站点项目在VS解决方案资源管理器中作为“项目名称”显示的文件夹。这个文件夹是您在IIS中设置为调试应用程序的主目录。 - AnthonyWJones
@Ian:浏览器请求之前会发生什么?你是指第一次请求时发生的应用程序/会话启动吗?使用VBScript的“stop”关键字启动调试器,然后从提供的列表中选择具有Web站点“项目”的VS实例。 - AnthonyWJones

3
使用IIS作为服务器,使用Response.Write进行调试。这是我们“以前”的做法 ;)

2
额...天哪,我从来没那么做过,甚至是“早年间”,我可是老手了。 - AnthonyWJones

1
假设您正在运行安装了IIS的Windows XP和带有默认设置的VS 2008“常规开发人员设置”,则需要在IIS中启用ASP调试:
打开Internet Information Server管理控制台 右键单击“默认网站” 左键单击“属性” 选择“主目录”选项卡 左键单击“配置”按钮 选择“调试”选项卡 检查调试标志部分中的两个标志 单击所有对话框上的“确定”,直到回到管理控制台 关闭管理控制台
现在,您需要设置权限,确保IWAM用户和IIS身份验证用户可以读取要调试的ASP文件。我发现作为管理员工作有助于权限。请注意,权限可能是您最大的障碍。
现在,您需要编辑ASP页面并在要调试的位置之前将单词“Stop”放入代码中。注意:如果您使用远程桌面,则需要登录到Windows的控制台会话中。
浏览到相关页面,您应该会收到调试提示,然后选择要使用的调试器,选择VS2008,现在您正在调试Classic ASP。
注意: 这是从记忆中得出的,如果您遇到任何问题,请告诉我,此外,VS2005更适合调试Classic ASP。
我不知道Express版本是否能够按照这些说明工作。
所有asp页面都必须托管在IIS中。

-2

2
“你不能在Visual Studio中调试非ASP.Net代码”这句话并不准确,你只需要在IIS中启用服务器端调试,并将dllhost.exe进程附加到IDE中即可轻松调试代码...我以前已经做过成千上万次了... - RameshVel
+1,因为你是对的,“你不能在Visual Studio开发服务器中调试非ASP.NET代码”。虽然我相信你可以在Visual Studio中调试非ASP.NET代码。我会让@Ramesh Vel发布支持他说法的步骤。 - Ian Boyd
请勿在您创建的文本中放置撇号@Ravesh Vel。我在我的文本中没有说过那个。我只是说您不能在开发服务器中托管任何ASP .NET代码,而不是整个VS中。 - kurast

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接