感谢您抽出宝贵时间帮助我。
我有一个应用程序,我正在注册表中添加启动代码:
RegistryKey setRunAtStartup = Registry.LocalMachine.OpenSubKey ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
setRunAtStartup.SetValue("mls", Application.ExecutablePath.ToString());
我还有一个ini.xml文件,需要与我的应用程序位于同一个文件夹中。所以我以这种方式访问它:
XmlDocument doc = new XmlDocument();
doc.Load(Application.StartupPath.ToString() + "/ini.xml");
问题是,重启计算机后,Application.StartupPath不再返回旧路径但返回C:\ Windows \ System32 \ myapp.exe,因此会抛出异常:找不到该文件夹中所需的ini.xml。 我怎样才能解决这个问题?我需要一个方法来返回REAL路径以访问我的ini.xml。谢谢!
答案 0 :(得分:1)
不要使用当前的工作目录。而是使用:
Assembly.GetExecutingAssembly().Location
像这样:
Path.Combine(
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location),
"myIniFile.ini")