[英]Merge DictionaryResource from Application in a ClassLibrary
[英]Attach ClassLibrary Project to External Application with VisualStudio
经过一些研究并感谢@Fletch Zhou的帮助,我结束了创建Debugger Helper的工作。
我所做的是,创建一个名为DebuggerHelper的新控制台应用程序,此应用程序运行我的“主应用程序”,我需要将其附加到进程中,等待(睡眠),然后将运行的VisualStudio实例附加到该EXE。
然后,我将新的exe添加到ClassLibrary项目的debug选项中,并将此exe文件添加为我的项目的一部分。 然后,当我按F5键运行类库时,他加载了我的外部应用程序,并将其完美附加:)
private static void AttachProcess()
{
var localByName = System.Diagnostics.Process.GetProcessesByName(_appName);
MessageFilter.Register();
var process = GetProcess(localByName[0].Id);
if (process != null)
{
process.Attach();
Console.WriteLine("Attached to {0}", process.Name);
}
MessageFilter.Revoke();
}
private static void StartProcess()
{
System.Diagnostics.Process.Start("start.bat");
Console.WriteLine("Waiting to load the process...");
System.Threading.Thread.Sleep(3000);
}
private static Process GetProcess(int processId)
{
// Visual Studio 2017 (15.0)
var dte = (DTE)Marshal.GetActiveObject("VisualStudio.DTE.15.0");
var processes = dte.Debugger.LocalProcesses.OfType<Process>();
return processes.SingleOrDefault(x => x.ProcessID == processId);
}
Github解决方案: https : //github.com/thiagoloureiro/DebuggerHelper
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.