12

我最近安装了Visual Studio 2010 SP1 BETAASP.NET MVC 3 RC2IIS Express

我成功地获得了一个MVC 3 项目,该项目与 IIS Express项目中的经典 ASP 页面一起运行。

我想知道是否有办法在使用 IIS Express 时在 Visual Studio 中设置带断点的经典 ASP调试?

如果是这样,是否有任何关于如何做到这一点的教程/帖子?

4

4 回答 4

13

在 IIS Express 中启用 ASP 调试:

1.找到相应的 applicationhost.config 文件以根据您的 Visual Studio 版本进行更新。

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

(如果你找不到 applicationhost.config,那是因为 web 应用程序还没有在 IISExpress 中启动。所以继续启动你的应用程序,然后文件将被创建。)

2.在文本编辑器中打开 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 中,打开“附加到进程”对话框。
  3. 更改附加脚本
  4. 选择 iisexpress.exe 并单击附加。

设置断点:

  1. 调试后,浏览到要调试的页面。(是的,在设置任何断点之前。)
  2. 返回 VS,转到解决方案资源管理器,您将看到一个“脚本文档”节点,其中列出了 IIS Express 缓存的文件。展开此节点,直到找到需要断点的 .asp 页面。(在您按照上一步浏览该页面之前,该页面不会出现在此列表中。) 在此处输入图像描述
  3. 打开文件并在此处设置断点(不是原始源文件)。
  4. 刷新或重新导航到页面以命中断点。

请记住,如果您需要对此页面进行更改,请在原始源文件中进行更改,而不是在带有断点的版本中进行。当您保存这些更改时,该文件将从 IIS Express 缓存中删除,因此您必须重复这些步骤以再次设置断点。

更多详情请参见迪信的博客

于 2015-01-14T17:29:28.227 回答
4

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

(在此之前我什至没有听说过 IIS Express - 看起来是一种让开发人员的机器运行该站点的本地副本而无需配置完整 IIS 的复杂性的有前途的方法)。

请参阅 Scott Guthrie 的博客。

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

于 2010-12-23T17:20:58.147 回答
3

另请参阅我回答的这个问题。

IIS Express 和经典 ASP

调试经典的 asp 仍然有点失败,但它是可行的

于 2012-01-04T10:59:51.067 回答
2

我发现这样做的唯一方法是按照David Lively 的回答中发布的Scott Guthrie 的博客。将站点设置为允许F5Ctrl+F5启动应用程序后。您需要安装 IIS 5/6/7 并将站点添加为根目录或虚拟目录。所以你有 IIS express 和 IIS 都指向同一个物理目录。现在启动 IIS 实例。就我而言,我只是导航到本地主机。这将启动 w3wp.exe 现在在 VSS 中附加到进程 W3wp.exe。

除了这个。我不相信在 IIS Express 中调试 ASP 经典版有真正的解决方案。

于 2013-06-18T10:48:43.963 回答