.exe没有使用Process从C#的原始目录运行

时间:2016-12-26 06:59:44

标签: c# entity-framework visual-studio process

我有两个控制台应用程序项目(prj1和prj2)。

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

在prj1中,我试图使用:

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

问题是,数据库是在prj1的Debug文件夹中创建的(不在“D:\ Debug”中

但如果我通过双击直接从“D:\ Debug \ prj2.exe”运行prj2的.exe - 一切正常。

2 个答案:

答案 0 :(得分:1)

我认为你应该试试ProcessStartInfo.WorkingDirectory

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

答案 1 :(得分:1)