0

我正在尝试通过 PHP 运行以调试模式构建的 .NET 应用程序。

PHP 成功运行其他应用程序。

问题是当我通过 Windows 资源管理器运行此应用程序时(即通过在地址栏中键入“C:\app.exe 参数”),它工作得非常好。

但是,当我使用 PHP 或 CMD.exe(命令提示符)运行相同的程序时,应用程序会崩溃。我查看了临时文件夹中生成的元数据文件,它有一个 FileNotFound IO 异常。

有什么线索吗?

看起来像一些臭名昭著的目录问题(工作路径等)

请帮忙,谢谢。

4

1 回答 1

1

看起来像一些臭名昭著的目录问题

是的,这听起来像是一个应用程序错误 - 可能应用程序正在对当前工作目录做出假设,这并不总是正确的。可能假设当前工作目录 ( Environment.CurrentDirectory) 与应用程序的安装目录 ( AppDomain.CurrentDomain.BaseDirectory) 相同。

从 Windows 资源管理器运行应用程序时,此假设可能是正确的,但在一般情况下不一定如此。

要访问存储在相对于安装目录的文件夹中的文件,请替换Environment.CurrentDirectoryAppDomain.CurrentDomain.BaseDirectory.

于 2012-07-12T12:08:45.550 回答