我使用Visual Studio 2010在本地计算机上调试asp.net MVC项目。步骤是:
单击“调试”并尝试连接进程“w3wp.exe”。但它不在列表中。
我确定点击了“在所有会话中显示流程”。
答案 0 :(得分:144)
w3wp.exe将不会在正在运行的进程中显示'除非实际存在运行的Web应用程序实例。
首次尝试访问您的网页,首次显示时,请尝试附加调试程序。现在应该显示该过程。
答案 1 :(得分:69)
您需要单击“任务管理器”列表底部的“显示所有用户的进程”。这就是我需要做的事情。
答案 2 :(得分:13)
答案 3 :(得分:4)
仅仅因为启动了一个 IIS 应用程序池,可能没有一个
IIS 工作进程 w3wp
正在运行。 IIS 不会启动工作程序
处理,直到收到第一个 Web 请求。
就我而言,我第一次启动应用程序,仍然找不到w3wp.exe
。然后我从 (IIS->Worker Process -> Process Id
) 中取出工作进程 ID,然后在详细信息选项卡中按 ID 搜索并找到它。
答案 4 :(得分:3)
尝试检查:“显示所有用户的进程” 在左下方的“附加到流程”窗口中,有一个复选框“显示所有用户的流程”
答案 5 :(得分:1)
iisreset
来重置 IIS答案 6 :(得分:1)
对于我来说,一旦我重建了Web项目并提高了“连接超时”的限制(以秒为单位),它就会自动显示在“调试/附加到进程”列表中并保持正常工作。
答案 7 :(得分:1)
在我的情况下,我没有在管理员模式下打开Visual Studio,这就是w3wp.exe没有显示在列表中的原因。
当我在管理员模式下打开Visual Studio时,它可以正常工作。
右键单击Visual Studio - >在管理员模式下打开。
答案 8 :(得分:1)
我刚遇到此问题 - 您可能还需要仔细检查主机设置,并确认您实际上是指向localhost而不是生产服务器。
我忘了我被指向了一个远程服务器,因此,虽然我正在访问该网站,但它并不是本地的所以w3wp没有运行,尽管我表面上看不到该网站正在运行。
答案 9 :(得分:1)
GoTo Web项目属性 - >选择左侧边栏上的(网页) - > GoTo在(服务器)标题下 - >点击下拉菜单,然后选择"Local IIS"
并申请。然后,当您开始调试时,您将在进程列表中看到w3wp.exe。
答案 10 :(得分:1)
如果您使用Advanced Rest Client之类的东西测试路线,请再次拨打您的路线,然后刷新流程列表并显示
答案 11 :(得分:0)
就我而言,问题是我没有以管理员身份运行Visual Studio。我的机器在更新后重新启动并重新启动了所有以前运行的进程,但只在非管理模式下重新启动了VS.当我在管理员模式下重新启动VS时, w3wp.exe 进程再次可用于调试。
答案 12 :(得分:0)
以管理员身份运行远程调试器。 我按照每个建议来解决问题,但直到我以管理员身份运行远程调试器才能看到w3wp进程
答案 13 :(得分:0)
请尝试以下步骤:
从Solution Explorer创建虚拟路径。
转到inetmgr以确认您自己的池已创建。
转到附加流程(Ctrl + Alt + P)并显示所有用户的流程。
然后你会看到w3wp.exe会在那里。
答案 14 :(得分:0)
请注意,即使在跳过所有这些箍之后(使用网络浏览器启动实例,以管理员身份启动远程调试会话,确保“显示所有用户”等等,确保您不是在服务器场等),你有时可能会失去运气。
有时远程进程(通常是我的WCF服务)根本不会出现在要附加到的进程列表中,并且没有什么可以做的。我总是小心翼翼地通过保留目标进程并将其保存在特定的应用程序池中来使其易于识别。有时候你无法从这里到达那里。毫无疑问,这是微软迄今为止进行远程调试最令人沮丧的事情。
答案 15 :(得分:0)
就我而言,我需要从一个Visual Studio连接到从另一个VS工作室窗口运行的进程 接下来的问题是:一个VS启动了管理员权限。要解决该问题,您应该启动VS with Admin perm。
答案 16 :(得分:0)
我想与未来的读者分享我的经验。
请注意,如果您有 Web服务器群集配置(用于负载平衡等),w3wp
进程可能无法在您期望的同一台计算机上启动。
除非您的网站配置为仅在单个IIS实例上运行,否则w3wp
进程可能会在您的Web群集内的其他计算机上启动。
这可能是来自网络团队/部门或预期行为的错误配置。我没有必要的经验来确切地指出它应该如何配置。
在MSDN上找到了相关页面:
答案 17 :(得分:0)
一种简单的方法,当w3wp不在列表中时,打开浏览器并输入localhost,然后输入。之后,w3wp出现在列表中。