该属性Environment.CurrentDirectory始终返回系统目录的路径,而不是我的应用程序目录.在我同事的PC中,它返回应用程序目录.
问题是什么?我该如何解决?
以下代码对我有用
ePCRSettings = XMLParser.XmlParser.Deserialize<PCRGeneratorSettings>(string.Format("{0}\\ePCRPDFSettings.xml", AppDomain.CurrentDomain.BaseDirectory));
AppDomain.CurrentDomain.BaseDirectory - Returns the directory E:\MyApplications\.
Run Code Online (Sandbox Code Playgroud)
以下代码对我不起作用
ePCRSettings = XMLParser.XmlParser.Deserialize<PCRGeneratorSettings>(string.Format("{0}\\ePCRPDFSettings.xml", Environment.CurrentDirectory));
Environment.CurrentDirectory - Returns c:\windows\system32.
Run Code Online (Sandbox Code Playgroud)
此.dll文件可用于VB 6和ASP.NET应用程序
小智 11
设置当前目录
Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory); //or set executing Assembly location path in param
Environment.CurrentDirectory //now returns your app path
Run Code Online (Sandbox Code Playgroud)
我怀疑这可能与应用程序运行时的当前用户 ID 有关,例如,如果您在用户会话中运行应用程序(例如在 VS 中调试),那么这可能会返回您当前的目录,但是如果您在 IIS 下运行它,那么这可能就是它默认为系统文件夹的原因?