我开发了一个visual studio包插件,今天我需要在C#中实现对iisexpress的附加。
我的插件通过上下文菜单中的按钮在visual studio编辑器中构建活动文档的项目,并且在例程的最后,我需要附加它。
我已经研究过并找到了它:
System.Diagnostics.Debugger.Launch();
但是当执行此代码时,Visual Studio会冻结并关闭。
在此代码之前,我尝试通过以下方式找到iisexpress进程:
var IsIisRunning = System.Diagnostics.Process.GetProcessesByName("iisexpress");
if (IsIisRunning.Length == 0)
return;
所以我知道这个过程存在。
我忘记了什么吗?
有人可以帮助我吗?
感谢您的时间。
答案 0 :(得分:0)
我使用ENVDTE80.Process2对象解决了这个问题,如下所示:
EnvDTE80.Debugger2 dbg2 = (EnvDTE80.Debugger2)dte.Debugger;
EnvDTE80.Transport trans = dbg2.Transports.Item("Default");
EnvDTE80.Engine dbgeng;
dbgeng = trans.Engines.Item("Managed (v4.5, v4.0)");
var proc2 = (EnvDTE80.Process2)dbg2.GetProcesses(trans, Environment.MachineName).Item("iisexpress.exe");
proc2.Attach2(dbgeng);