我构建了解决方案,在IIS中创建了应用程序并将其映射到应用程序文件夹。它工作正常。然后我转到"附加到进程",列表中有两个w3wp.exe进程,但是对于其中一个进程,我得到错误"无法附加进程。调试器已经附加。"我已经用谷歌搜索了它,但我无法找到解决问题的方法。
答案 0 :(得分:31)
我已经安装了Debug Diagnostic Tool v2.0,因此我有调试诊断服务,它自动启动并附加到w3wp进程之一。关闭并禁用此服务后一切正常。 所以一般规则是:如果你在任务管理器中得到这样的错误检查过程,它可以捕获你的w3wp进程。
答案 1 :(得分:4)
在同一个应用程序池上运行的IIS中有2个VS实例和两个条目,例如,Server和Intranet都运行在同一个应用程序池中。
=>解决方案打开IIS:
°选择网站并单击“基本设置”:您可以在此处选中/选择 使用的应用程序池。
°单击“应用程序池”节点(在您的计算机名称下) =>您将获得已定义的应用程序池列表。
°右键单击定义的最后一个,打开上下文菜单 选择“添加应用程序池...” 创建一个新名称,并为其指定与使用的名称相同的参数 在您的网站上。
°选择您某个站点的“基本设置”并更改其应用程序 池到刚刚创建的新池。 =>现在,Server和Intranet具有不同的应用程序池和您的可以 同时调试两者。
希望这有帮助。
答案 2 :(得分:0)
调试诊断工具v2 Update 2
https://www.microsoft.com/en-us/download/details.aspx?id=49924
如果@mtkachenko提供的链接无法正常工作,可以使用此链接
答案 3 :(得分:0)
对我来说,即使禁用了Debug Diagnostic Tool v2.0,此问题也无法解决。因此,我重新构建了Web服务,将DLL推送到IIS上,然后重新启动它,这为我解决了这个问题。 当您在本地IIS上托管的Web服务中进行更改并且未推送这些更改时,可能会发生此问题。
答案 4 :(得分:0)
在Visual Studio 2019中具有此功能,但有时调试器崩溃之后。在不重启PC的情况下(这可能是一件很麻烦的事),可以创建一个临时的第二个应用程序池并将站点切换到IIS中的新应用程序池。
答案 5 :(得分:-1)
真奇怪 - 但这个简单的事对我有用:
转到主项目中的某个文件。
转到 Project 菜单,然后选择设置为启动项目。
如果您之前已经选择该项目作为启动项目,那么这似乎是多余的,但它似乎有效。