C# 文档的路径

C# 文档的路径,c#,.net,wpf,clickonce,C#,.net,Wpf,Clickonce,这是一个WPF应用程序 我正在尝试加载如下所示的xml文件: XmlDocument doc = new XmlDocument(); doc.Load("../../doc/test.xml"); 但是当我使用Clickonce发布时,它将无法找到文档 如何获取当前位置,如basedir 谢谢。试试: AppDomain.CurrentDomain.BaseDirectory 这将获得基本目录您的意思是系统.反射.汇编.GetExecutionGassembly().位置?尝试 XmlDo

这是一个WPF应用程序

我正在尝试加载如下所示的xml文件:

XmlDocument doc = new XmlDocument();
doc.Load("../../doc/test.xml");
但是当我使用
Clickonce
发布时,它将无法找到文档

如何获取当前位置,如
basedir

谢谢。

试试:

AppDomain.CurrentDomain.BaseDirectory

这将获得基本目录

您的意思是
系统.反射.汇编.GetExecutionGassembly().位置

尝试

XmlDocument doc = new XmlDocument();
doc.Load(Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) + @"\test.xml");

Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location)此可执行文件位置的返回路径。

如果XML文件是某种形式的用户可配置输入,则该文件应位于Windows公用应用程序数据文件夹中(请参阅Environment.SpecialFolder.CommonApplicationData)。因此,路径不是相对的,而是从部署代码“知道”的已知基础构造的路径

我想在Environment.SpecialFolder.CommonApplicationData中为我的公司和应用程序创建一个文件夹,例如:\\


也许我们需要更多的细节。我希望这会有所帮助。

BaseDirectory可以在运行时设置,因此不能保证它是有效的。