在同一解决方案中获取另一个可执行文件

Per*_*xed 5 c# visual-studio-2005

我正在使用c#,VS 2005.

我有两个项目的解决方案.

一些检查后,Project1需要启动project2.

如何从Project1中获取Project2的可执行文件路径?

我需要一个针对调试和实时模式的解决方案.

谢谢,

KS

Han*_*ant 4

第二个项目的 EXE 需要有一个可预测的位置,相对于第一个 EXE。获取包含第一个 EXE 的文件夹的绝对路径很简单:

        string myPath = System.Reflection.Assembly.GetEntryAssembly().Location;
        string myDir = System.IO.Path.GetDirectoryName(myPath);
Run Code Online (Sandbox Code Playgroud)

然后附加第二个 EXE 的相对路径。强烈建议将其保存在与第一个目录相同的目录中:

        string path = System.IO.Path.Combine(myDir, "project2.exe");
        System.Diagnostics.Process.Start(path);
Run Code Online (Sandbox Code Playgroud)

要使其在 IDE 以及目标计算机上正常工作,最简单的方法是让 IDE 复制 project2.exe。右键单击project1,添加引用,项目选项卡,选择Project2。引用的“复制本地”属性将为 True,以便project2.exe 最终位于与project1.exe 相同的目录中