我有一个名为settings.xml中位于文件:
c:\solution1\solution1\data\settings.xml
现在,我做的:
XDocument doc = XDocument.Load(@"c:\solution1\solution1\settings.xml");
我想不出如何使用相对路径做。
我有一个名为settings.xml中位于文件:
c:\solution1\solution1\data\settings.xml
现在,我做的:
XDocument doc = XDocument.Load(@"c:\solution1\solution1\settings.xml");
我想不出如何使用相对路径做。
如果你的意思是相对于你的可执行文件,您可以使用
string exeLocation = System.Reflection.Assembly.GetExecutingAssembly().CodeBase
注意经常建议
System.Reflection.Assembly.GetExecutingAssembly().Location
将获得其中的组件目前所在的路径,如果正在执行的卷影副本可以是不同的如。
您可以使用
string exeDir = System.IO.Path.GetDirectoryName(exeLocation);
获得可执行文件的目录。
如果你想找到一个文件,是在数据目录的安装位置下,你可以这样做
string dataFile = Path.Combine(exeDir, "data\settings.xml");
需要注意的是在Windows Vista和更高版本,你不会有默认的写访问位于你的安装目录下的目录。
您也可以相对于它从开始的当前目录
System.Environment.CurrentDirectory