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