【问题标题】:How do you debug ASP.NET applications under IIS7 on Vista?如何在 Vista 上的 IIS 7 下调试 ASP.NET 应用程序?
【发布时间】:2009-04-27 23:10:18
【问题描述】:

IIS.net 上有一篇名为“Using Visual Studio 2008 with IIS 7.0”的帖子,但我不太相信人们会这样做。 (除其他优点外,它建议在每次更改后发布您的 Web 应用程序。)

如果您在 IIS7 而不是 Cassini 中调试 ASP.NET 应用程序,我很想听听您的方法、提示和技巧。

编辑:我特指本地调试。

【问题讨论】:

  • 你是指本地调试还是远程调试?
  • 我厌倦了 Cassini 的错误,我在 IIS 中创建了站点,然后通过 Visual Studio 打开并使用 F5 进行调试,从那时起我一直是一个更快乐的人。

标签: asp.net visual-studio-2008 iis iis-7 cassini


【解决方案1】:

我相信我已将您指向该指南,但当我仔细查看它时,我认为这比我所做的要复杂一些。我做了以下事情:

  1. 在 IIS 中为您的项目创建一个网站。

  2. 向该站点添加自定义主机标头,例如http://mysite:*/ or http://mysite:80/

  3. 在记事本中打开位于C:\Windows\system32\drivers\etchosts 文件(如果您使用的是Vista,则以管理员身份运行)并添加以下行:

    mysite        127.0.0.1
    

    如果您在 IIS 中的网站上有多个主机标头,则需要在 hosts 文件中表示每个主机标头。

现在,当您在 Visual Studio 中按 F5 时,该站点将使用 url http://mysite 打开,您将能够像往常一样调试、设置断点等,除非没有与 Cassini 相关的问题...; )

编辑:为澄清起见,我只想指出,据我所知,我从未需要将任何进程附加到 VS。至少我不必每次都这样做。

【讨论】:

  • 所以如果你的代码在某个文件夹中,比如 c:\code\trunk\mywebsite,你是否将该路径设置为网站的根目录?
  • 是的。在 IIS 中,您可以根据需要选择站点的根路径,因此您可以将路径设置为存储 ASP.Net Web 项目文件的任何位置。
【解决方案2】:

我只是将 Visual Studio 附加到 IIS 工作进程,如果您有多个应用程序池,那么您可以运行“issapp”来获取适当的 PID。

我从不通过单击“开始调试”进行调试。

如果您安装了 msvcmon,这对于在远程服务器上工作也有一个很好的优势。

【讨论】:

  • 我在过去的两个月里一直在这样做,这绝对是对 F5 的巨大改进。
【解决方案3】:

嗯,设置 IIS 7 进行调试并不是很棘手,但为了节省时间(如果我对从冷启动调试不感兴趣)我更喜欢做的是启动 Web 应用程序/网站首先是 Web 浏览器 - 让 ASP.net 预编译等。

然后我将使用 Visual Studio 附加到 IIS 进程。连接后,我可以开始设置断点和调试,我发现这是一种更快的方式。

【讨论】:

    【解决方案4】:

    我以管理员身份启动 Visual Studio,然后调试 > 附加到进程 > w3wp.exe。

    【讨论】:

    • 谢谢,当您没有在 VS 中打开整个网站时,这很有用
    猜你喜欢
    • 2011-01-10
    • 1970-01-01
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    • 2013-07-17
    相关资源
    最近更新 更多