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

时间:2010-05-12 10:27:50

标签: c# visual-studio-2005

我正在使用c#,VS 2005。

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

Project1需要在经过一些检查后启动project2。

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

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

感谢,

KS

2 个答案:

答案 0 :(得分:3)

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

        string myPath = System.Reflection.Assembly.GetEntryAssembly().Location;
        string myDir = System.IO.Path.GetDirectoryName(myPath);

然后追加你的第二个EXE的相对路径。建议将它保存在与第1个目录相同的目录中:

        string path = System.IO.Path.Combine(myDir, "project2.exe");
        System.Diagnostics.Process.Start(path);

让它在IDE和目标计算机上运行良好的最简单方法是让IDE复制project2.exe。右键单击project1,添加引用,“项目”选项卡,选择“Project2”。引用的Copy Local属性为True,因此project2.exe最终与project1.exe

位于同一目录中

答案 1 :(得分:0)

如果将Project2输出目录设置为DebugRelease配置的已知位置,则可以在Project1中使用该已知位置。