我有一个奇怪的问题(对我来说)。
有一个应用程序是Windows窗体应用程序“ firstapp.exe”。
还有另一个应用程序是Windows窗体应用程序“ launcher.exe”。
并且有一个名为“ server.exe”的控制台应用程序。
firstapp和启动器都在同一目录中。在该目录中,还有一个“ Config”文件夹,其中包含一些其他文件。
我用来从firstapp的config文件夹读取一个文件的代码:
StreamReader reader = new StreamReader("Config\\launcher.txt");
string readed_config = reader.ReadToEnd();
reader.Close();
如果我使用启动器(使用process.start)运行firstapp应用程序,一切都会很好。
当我使用控制台应用程序运行该应用程序时,该应用程序与firstapp不在同一个目录中,我从那部分代码中获得“找不到目录异常”(上面发布)。
我该如何解决这个问题?
为什么控制台应用程序将自己的路径添加到另一个应独立运行的应用程序?
最佳答案
听起来您需要在调用Process.Start
之前设置Process的WorkingDirectory属性。
string launcherPath = @"C:\SomePathToLauncher\Launcher.exe";
myProcess.StartInfo.FileName = launcherPath;
myProcess.StartInfo.WorkingDirectory = Path.GetDirectoryName(launcherPath);
myProcess.Start();
关于c# - StreamReader路径自动更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17930475/