ASP.NET: 在IIS中调试网站

11

在IIS上运行的Asp.Net网站是否可以进行调试? 我能够调试Asp.Net Web应用程序项目,但无法调试Web网站,想知道这是设计问题还是我漏掉了什么。


当你连接到IIS工作进程时,你在输出窗口中得到了什么? - Dmitry Selitskiy
4个回答

17

我遇到过同样的问题,关键是不要使用Visual Studio项目文件打开项目。

  1. 在IIS中,在您的默认Web站点下,您需要已创建一个应用程序,并将其指向包含文件的文件夹。
  2. 在Visual Studio中,转到“文件”>“打开”>“网站”(Shift+Alt+O)。
  3. 选择新创建的应用程序。
  4. 您会注意到解决方案资源管理器现在使用URL替换项目名称。 (http://localhost/mysite/)
  5. 像平常一样单击调试箭头。

1
互联网上有很多相同的答案。这是我一直在寻找的唯一答案。 - AbdulG

4
你可以将asp_wp附加到Visual Studio调试器中进行调试。

它适用于Web应用程序,但断点不会停止网站。 - Yaron Naveh
@Yaron Naveh - 你需要在dll文件旁边放置pdb文件,同时为了利用更多的调试功能,请在调试模式下构建您的网站。 - Dewfy
我正在使用“网站”而不是“Web应用程序”。它在本地无法编译,但只能在IIS中动态编译。如何创建pdb? - Yaron Naveh

3

这应该可以工作:

  1. 以调试模式编译项目。
  2. 在web.config中设置debug="true"。
  3. 附加到IIS工作进程(您使用哪个版本的IIS?)(在VS中按Ctrl-Alt-P)。可能会有许多进程。确保附加到正确的进程

我使用的是IIS 5。 只有一个进程。 我使用网站而不是“Web项目” - 它是即时编译的,所以我无法控制它。 - Yaron Naveh

1

对我来说它很好用。您只需将文件复制到IIS文件夹中,设置IIS并运行即可(如果在同一台计算机上)。确保您的项目属性指定为“自定义Web服务器”和“http://localhost”(或其他内容)。

在Vista上,您需要以管理员身份运行Visual Studio。

如果您在不同的计算机上运行IIS,则需要安装远程调试器,该程序位于Visual Studio光盘中,并使用Visual Studio中的Debug | Attach To Process连接到它。


2
它适用于Web应用程序,但断点在网站上无法停止。 - Yaron Naveh

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