Visual Studio插件:将当前VS实例附加到进程

时间:2012-06-28 12:37:04

标签: visual-studio-2010 visual-studio-extensions

我正在编写一个简单的VisualStudio插件,将调试器附加到任何IIS进程(w3wp.exe)。这是我第一次写一个VS插件。我使用VS模板创建了初始插件,并成功显示了一个带有显示w3wp进程的列表框的winform。我无法找到有关如何以编程方式将当前Visual Studio实例附加到进程的信息。我已经有了进程ID。有人能指出我正确的方向吗?我查看了MSDN网站,但找不到哪个部分。

1 个答案:

答案 0 :(得分:1)

我不确定附加组件,但是你可以使用VS Macro轻松完成:

例如,以下代码会将当前VS实例附加到它发现正在运行的IISExpress的第一个副本。如果您可以访问附加组件中的DTE,那么您可以执行类似的操作(我没有编写附加组件,因此我不确定)。

Public Sub AttachToIISExpress()
    For Each Process As EnvDTE.Process In DTE.Debugger.LocalProcesses
        If (Process.Name.IndexOf("iisexpress.exe") <> -1) Then
            Process.Attach()
            Return
        End If
    Next
End Sub