这是一个WPF应用程序。文件路径
我试图加载一个XML文件,如下所示:
XmlDocument doc = new XmlDocument();
doc.Load("../../doc/test.xml");
但是当我发布使用Clickonce
,它将无法找到该文件。
我应该如何获得当前位置,例如basedir
?
谢谢。
这是一个WPF应用程序。文件路径
我试图加载一个XML文件,如下所示:
XmlDocument doc = new XmlDocument();
doc.Load("../../doc/test.xml");
但是当我发布使用Clickonce
,它将无法找到该文件。
我应该如何获得当前位置,例如basedir
?
谢谢。
尝试用,
XmlDocument doc = new XmlDocument();
doc.Load(Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) + @"\test.xml");
Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly()位置)的可执行文件位置的这种返回路径。
尝试:
AppDomain.CurrentDomain.BaseDirectory
这将让基本目录
你的意思是System.Reflection.Assembly.GetExecutingAssembly().Location
?
如果XML文件是某种形式的用户可配置输入,那么该文件应该位于Windows常用应用程序数据文件夹中(请参阅Environment.SpecialFolder.CommonApplicationData)。因此,路径不是相对的,而是由部署代码“知道”的已知基础构建的路径。
我喜欢创造Environment.SpecialFolder.CommonApplicationData一个文件夹,我的公司和应用程序是这样的:\\
也许我们需要更多的细节。我希望这有帮助。
BaseDirectory可以在运行时设置,因此不能保证是有效的。 –