IIS Express是否支持调试经典ASP?

时间:2010-12-23 17:14:36

标签: asp-classic asp.net-mvc-3 visual-studio-debugging iis-express

我最近安装了 Visual Studio 2010 SP1 BETA ASP.NET MVC 3 RC2 IIS Express

我在项目中使用IIS Express 成功运行 MVC 3项目以及经典ASP页面

我想知道在使用IIS Express时是否有办法在Visual Studio中使用断点设置Classic ASP debugging

如果有,是否有关于如何执行此操作的教程/帖子?

4 个答案:

答案 0 :(得分:9)

在IIS Express中启用ASP调试:

首先,您需要找到相应的applicationhost.config文件,以根据您的Visual Studio版本进行更新。

  • 在Visual Studio 2015之前:您可以通过修改位于%USERPROFILE%\ Documents \ IISExpress \ config
  • 中的applicationhost.config来启用所有Web应用程序的调试
  • Visual Studio 2015及更高版本:每个Web应用程序都有一个不同的applicationhost.config文件。您需要单独修改每个。该文件位于 {solution directory} \。vs \ config (请记住.vs是隐藏文件夹。)

(如果你找不到applicationhost.config,那是因为尚未在IISExpress中启动网络应用程序。所以继续启动你的应用程序,然后创建文件。)

在文本编辑器中打开applicationhost.config并将<system.webServer><asp>元素更改为:

<asp scriptErrorSentToBrowser="true" enableParentPaths="true" bufferingOn="true" errorsToNTLog="true" appAllowDebugging="true" appAllowClientDebug="true">
    <cache diskTemplateCacheDirectory="%TEMP%\iisexpress\ASP Compiled Templates" />
    <session allowSessionState="true" />
    <limits />
</asp>

开始调试:

  1. 启动网站,无需调试
  2. 在Visual Studio中,打开&#34;附加到进程&#34;对话框。
  3. 附加到更改为脚本
  4. 选择iisexpress.exe并单击“附加”。
  5. 设置断点:

    1. 调试后,浏览到要调试的页面。 (是的,在设置任何断点之前。)
    2. 返回VS,转到解决方案资源管理器,您将看到一个&#34;脚本文档&#34;列出IIS Express缓存的文件的节点。 展开此节点,直到找到需要断点的.asp页面。 (在您按照上一步浏览之前,页面不会出现在此列表中。) enter image description here
    3. 打开文件并在此处设置断点(原始源文件)。
    4. 刷新或重新导航到该页面以便点击断点。
    5. 请记住,如果您需要对此页面进行更改,请在原始源文件中创建它们,而不是带有断点的版本。当您保存这些更改时,文件将从IIS Express缓存中删除,因此您必须重复这些步骤以再次设置断点。

      有关详细信息,请参阅Dixin's Blog

答案 1 :(得分:4)

令人惊讶的是,与Cassini不同,IIS Express支持经典ASP。

(之前我还没有听说过IIS Express - 看起来像是一种让开发人员的机器运行本地网站副本而又没有配置完整IIS的复杂性的有希望的方法。)

See this blog from Scott Guthrie.

我还没有找到在经典ASP中设置断点等的方法。如果除了在ASP DLL中设置断点(这将是无用的)以外的任何其他方式支持,我会非常非常惊讶。

答案 2 :(得分:3)

另见我回答的这个问题。

IIS Express and Classic ASP

它仍然有点受到打击并且错过了调试经典的asp但它是可行的

答案 3 :(得分:2)

我发现这样做的唯一方法是按照David Lively的回答中的Scott Guthrie's blog进行操作。将站点设置为允许 F5 Ctrl + F5 启动应用程序。您需要安装IIS 5/6/7并将该站点添加为根目录或虚拟目录。所以你有IIS express和amp; IIS全面指向同一个物理目录。现在启动IIS实例。在我的情况下,我只是导航到localhost。这将启动w3wp.exe现在在VSS附加处理W3wp.exe。

除此之外。我不相信在IIS Express中调试ASP classic有一个真正的解决方案。