При написании плагинов для медиацентра ваш плагин размещается в ehexthost.exe
, этот exe запускается из ehshell.exe
, и вы не можете его запускать напрямую, вместо этого вы передаете специальный параметр ehshell.exe
, который запустит плагин в отдельном процессе.
Когда мы отлаживаем мультимедийный браузер, я нахожу процесс присоединения ко второму виду процесса, я знаю об отладчике. некоторых специальных записей реестра, которые я могу использовать.
Оба эти метода точно не соответствуют моему счету. Я хочу нажать F5, и мой текущий экземпляр visual studio присоединяется к дочернему процессу автоматически. Это можно сделать?
Если есть плагин для VS, который позволяет мне достичь этой функциональности, я был бы доволен этим.
ИЗМЕНИТЬ
В итоге я перешел к следующему макросу:
Public Sub CompileRunAndAttachToEhExtHost()
DTE.Solution.SolutionBuild.Build(True)
DTE.Solution.SolutionBuild.Debug()
Dim trd As System.Threading.Thread = New System.Threading.Thread(AddressOf AttachToEhExtHost)
trd.Start()
End Sub
Public Sub AttachToEhExtHost()
Dim i As Integer = 0
Do Until i = 50
i = i + 1
Try
For Each proc As EnvDTE.Process In DTE.Debugger.LocalProcesses
If (proc.Name.IndexOf("ehexthost.exe") <> -1) Then
proc.Attach()
Exit Sub
End If
Next
Catch e As Exception
' dont care - stuff may be busy
End Try
Threading.Thread.Sleep(100)
Loop
End Sub
Кроме того, я рассказал о том, как получить это в своем блоге.