尝试从路径执行时如何 运行 来自 cmd 的程序抛出错误

how to run a program from cmd when trying to execute from path throws errors

我正在尝试编写一个执行 .exe 应用程序的 C# 程序。在 cmd 提示符下,如果我键入完整目录 (C:\Users\User\Program\program.exe),我会抛出一个错误:

Error message: Can't open config file data/program.cfg.
Error reading data/program.cfg

但是,如果我 Cd 到 C:\Users\User\Program\,我可以通过键入 program.exe 或 program 来启动程序,或者只需双击应用程序文件即可。我也尝试将目录添加到我的 PATH 但它抛出相同的错误。

可能是什么导致了这个问题?

问题是该程序有一个错误,因此它会相对于当前目录而不是相对于安装目录查找其配置文件 (data\program.cfg)。

您可以在您的 .NET 程序中使用 System.Diagnostics.Process.Start 和 ProcessStartInfo 参数来解决这个问题,您可以在其中将 WorkingDirectory 设置为目录 C:\Users\User\Program.