我最近安装了Visual Studio 2010 SP1 BETA、ASP.NET MVC 3 RC2和IIS Express。
我成功地获得了一个MVC 3 项目,该项目与 IIS Express项目中的经典 ASP 页面一起运行。
我想知道是否有办法在使用 IIS Express 时在 Visual Studio 中设置带断点的经典 ASP调试?
如果是这样,是否有任何关于如何做到这一点的教程/帖子?
我最近安装了Visual Studio 2010 SP1 BETA、ASP.NET MVC 3 RC2和IIS Express。
我成功地获得了一个MVC 3 项目,该项目与 IIS Express项目中的经典 ASP 页面一起运行。
我想知道是否有办法在使用 IIS Express 时在 Visual Studio 中设置带断点的经典 ASP调试?
如果是这样,是否有任何关于如何做到这一点的教程/帖子?
在 IIS Express 中启用 ASP 调试:
1.找到相应的 applicationhost.config 文件以根据您的 Visual Studio 版本进行更新。
(如果你找不到 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>
开始调试:
设置断点:
请记住,如果您需要对此页面进行更改,请在原始源文件中进行更改,而不是在带有断点的版本中进行。当您保存这些更改时,该文件将从 IIS Express 缓存中删除,因此您必须重复这些步骤以再次设置断点。
更多详情请参见迪信的博客。
令人惊讶的是,与 Cassini 不同,IIS Express 确实支持经典 ASP。
(在此之前我什至没有听说过 IIS Express - 看起来是一种让开发人员的机器运行该站点的本地副本而无需配置完整 IIS 的复杂性的有前途的方法)。
我还没有找到在经典 ASP 中设置断点等的方法。如果除了在 ASP DLL 中设置断点(这将几乎没用)之外,还以任何方式支持它,我会非常非常惊讶。
我发现这样做的唯一方法是按照David Lively 的回答中发布的Scott Guthrie 的博客。将站点设置为允许F5或Ctrl+F5启动应用程序后。您需要安装 IIS 5/6/7 并将站点添加为根目录或虚拟目录。所以你有 IIS express 和 IIS 都指向同一个物理目录。现在启动 IIS 实例。就我而言,我只是导航到本地主机。这将启动 w3wp.exe 现在在 VSS 中附加到进程 W3wp.exe。
除了这个。我不相信在 IIS Express 中调试 ASP 经典版有真正的解决方案。