在IIS 7中调试ASP.NET

3
我已经搜索了所有常见的问题,但没有结果。我一定做错了什么!
简单地说,我创建了一个新项目,ASP.NET Web App,并希望在我的Windows 7 x64桌面上使用和调试本地安装的IIS 7.5。根据我所读到的,这应该是一个简单的过程;我的问题是Visual Studio无法停止在断点或错误等处。
我真的不明白:
- Visual Studio自动为我附加到w3p进程。 - 如果我将鼠标悬停在断点上,它会显示同样的消息,即它在同一个w3p进程中。 - 我是以管理员身份运行的。我手动运行它,以确保它运行正常,但无论如何,如果您是管理员,它都会以这种方式运行。
一些注意事项:
- 我不想使用IIS Express,因为我需要原生的IIS 7.5来完成我的任务,但它可以在Express中进行调试 - 没有惊喜。 - 如上所述,所有这些都是在本地完成的。 - 虚拟目录的路径指向项目文件,由Visual Studio 2010设置。它甚至将网络服务设置为文件夹结构上的只读。 - 从VS调试网站时,网站运行正常,只是调试出了问题。 - 可能是权限问题吗?默认应用程序池正在使用ApplicationPoolIdentity而不是Network Service...它应该是吗?我曾经认为它们本质上是一样的。尽管我更改了这个设置,但没有运气,除非我没有做正确的事情。
请记住,我的问题在某种程度上是独特的,因为我没有收到错误消息,甚至没有在事件日志中发现任何问题......就所有的目的而言,它应该正常工作,只是没有。VS和IIS以及所有更新都已应用到最新。
注意:我熟悉IIS7.5,我运行自己的公共Web托管服务器。我从未尝试过调试。
注意:这是Visual Studio 2010 Ultimate。
感谢您的时间。

你使用的是哪个版本的Visual Studio? - Davin Tryon
我提到过几次,VS 2010。 - Anthony
VS 2010 Express,Premium,Professional,Ultimate是什么? - Davin Tryon
你是否正在调试模式下构建你的网络应用程序? - Bernard Chen
5个回答

3

唉!

我回到了基本... 卸载了 IISExpress 并进行了测试; 它工作了!重新安装 IISExpress; 它也工作了!

我猜在安装了 IISExpress 之后安装了 IIS7 Native 出了些问题?当我安装它时,我在 IIS7 上运行了注册 ISS 命令。

所以现在我两个都已经安装,并且它们都可以很好地工作。感谢你们的帮助,非常感激。


嗨,安东尼,我也遇到了同样的问题..抱歉,请问您如何卸载IISExpress?我想按照您的步骤操作。谢谢。 - VAAA
添加/删除程序,我相信。只需卸载,重新启动,然后重新安装即可。 - Anthony
谢谢!同样适用于VS2012旗舰版。不知何故,这已经不再让我感到困惑了,这似乎总是微软的解决方案。总之,卸载、重新安装、重启。 - Knickedi

1

你可以在VS中尝试右键单击项目,选择属性,从左侧菜单选项卡中选择Web。检查是否选中了ASP.NET调试器,还可以选择使用本地IIS服务器并在那里提供localhost url(在项目url文本框中),然后从VS中启动调试并设置断点。


不是要说废话,但我已经手动完成了这个任务,并且也让VS自动完成了它。VS 2010并不像2008那样受限制,它可以为你完成所有这些工作。 - Anthony

1

我前几天遇到了类似的问题,我将调试器附加到了错误的w3p进程上,请确保将其附加到应用程序池标识正在运行的进程上。


那不是问题,因为只有一个进程在运行,我已经进行了双重检查。正如我上面提到的,VS会自动捕捉正确的进程。 - Anthony

1

我想把它写成评论,但我不认为我可以添加图片... 你确定你正在运行相同版本的dll吗?

您的断点是否像这样填充? enter image description here

还是像这样为空心? enter image description here


0

首先进入控制面板的“程序和功能”,然后打开或关闭Windows功能。现在勾选与Internet信息服务和Windows服务管理器相关的所有复选框(激活功能)。完成后,以管理员身份运行Visual Studio,然后附加到正确的w3p进程。


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