我的用例是,将一段代码运行为.exe.
,比如说A
项目,我需要执行另一个C#可执行文件,比如同时开发B
项目。使用B
.NET类型处理Process
项目执行。
这是B
项目的执行方式
public override string Run(string executablePath)
{
Process environmentProcess = new Process();
string inputPath = GetInputPath();
string inputFormat = GetInputFormat();
string outputPath = GetOutputPath();
GenerateOptions(inputPath, inputFormat);
string args = string.Format("-i \"{0}\" -f {1} -o \"{2}\"", inputPath, inputFormat, outputPath);
ProcessStartInfo startInfo = new ProcessStartInfo
{
FileName = executablePath,
Arguments = args
};
environmentProcess.StartInfo = startInfo;
environmentProcess.Start();
environmentProcess.WaitForExit();
return GetOutput(outputPath);
}
要运行解决方案,我只需按F5即可运行A
并附加调试器,A
进程依次执行B
我想要实现的是自动化将调试器附加到B
进程的过程。我知道System.Diagnostics.Debugger.Launch();
,但这会创建一个全新的VS实例来附加调试器。我希望它几乎就是这样,除了我希望能够B
附加到现有的Visual Studio实例及其调试器。
甚至可能吗?