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