我正在尝试通过 PHP 运行以调试模式构建的 .NET 应用程序。
PHP 成功运行其他应用程序。
问题是当我通过 Windows 资源管理器运行此应用程序时(即通过在地址栏中键入“C:\app.exe 参数”),它工作得非常好。
但是,当我使用 PHP 或 CMD.exe(命令提示符)运行相同的程序时,应用程序会崩溃。我查看了临时文件夹中生成的元数据文件,它有一个 FileNotFound IO 异常。
有什么线索吗?
看起来像一些臭名昭著的目录问题(工作路径等)
请帮忙,谢谢。
看起来像一些臭名昭著的目录问题
是的,这听起来像是一个应用程序错误 - 可能应用程序正在对当前工作目录做出假设,这并不总是正确的。可能假设当前工作目录 ( Environment.CurrentDirectory
) 与应用程序的安装目录 ( AppDomain.CurrentDomain.BaseDirectory
) 相同。
从 Windows 资源管理器运行应用程序时,此假设可能是正确的,但在一般情况下不一定如此。
要访问存储在相对于安装目录的文件夹中的文件,请替换Environment.CurrentDirectory
为AppDomain.CurrentDomain.BaseDirectory
.