gpt4 book ai didi

c# - 定义用于执行程序的工作目录 (C#)

转载 作者:可可西里 更新时间:2023-11-01 13:04:08 24 4
gpt4 key购买 nike

我目前正在尝试从特定文件夹中启动一个可执行文件。

我下面的代码很奇怪地使应用程序崩溃:

Process p = new Process();
p.StartInfo.WorkingDirectory = "dump";
p.StartInfo.FileName = s;
p.Start();

我调试了,提示找不到启动文件,但文件/文件夹确实存在,是我的语法不好吗?

下面的代码可以工作,但是没有定义工作目录,所以找不到可执行文件

Process.Start(@"dump\", s);

最佳答案

您设置的工作目录(“转储”)是相对于当前工作目录的。您可能想要检查当前的工作目录。

您应该能够使用此代码将工作目录设置为正在执行的程序集目录...

string exeDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
Directory.SetCurrentDirectory(exeDir);

或者,更好的是,不要使用相对路径,将 p.StartInfo.WorkingDirectory 设置为绝对路径。

关于c# - 定义用于执行程序的工作目录 (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6719293/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com