2009-01-22 79 views
0

路径与当前目录相关。我已经尝试了大量的引用,取消引用,更改为父目录并删除..的组合,但当我尝试启动进程时,我总是收到FileNotFound错误。.NET:使用路径和参数启动进程

bridge_process = System.Diagnostics.Process.Start(
    @"../Tools/RunHidden", 
    @"../My-Bridge.bat"); 

回答

1

而不是传递一个相对目录,为什么不通过一个完全合格的路径?您可以在System.IO命名空间的Path类中使用静态方法来帮助您创建路径。

1

根据我的经验,“当前目录”在某些情况下可以是c:\ windows \ system32。

试试这个:

string fullapppath = Assembly.GetExecutingAssembly().Location; 
    string apppath = System.IO.Path.GetDirectoryName(fullapppath); 

    string path1 = System.IO.Path.Combine(apppath, @"../Tools/RunHidden"); 
    string path2 = System.IO.Path.Combine(apppath, @"../My-Bridge.bat"); 

    bridge_process = System.Diagnostics.Process.Start(path1, path2);