2016-12-26 55 views
0

我有两个控制台应用程序项目(prj1和prj2)。.exe没有从C#的原始目录运行使用进程

我先在prj2中创建EF6代码,然后将它的“调试”文件夹复制到一个单独的目录中(例如:“D:\ Debug”)。

在prj1,我试图运行prj2使用: “d:\调试”

Process p = new Process 
{ 
    StartInfo = new ProcessStartInfo("D:\\Debug\\prj2.exe") 
}; 
p.Start(); 

问题是,被prj1的Debug文件夹中(而不是在内部创建数据库

但是,如果我跑prj2直接从.exe:通过双击 “d \调试\ prj2.exe” - 一切工作正常

+0

你执行内部VS或者双击prj1.exe从prj1的调试会话prj2? – GeorgeT

回答

1

我想你应该尝试ProcessStartInfo.WorkingDirectory

var startInfo = new ProcessStartInfo("D:\\Debug\\prj2.exe"); 
startInfo.WorkingDirectory = "D:\\Debug"; 
Process p = new Process(); 
p.StartInfo = startInfo; 
p.Start(); 
+0

工作!谢谢 :) –