我有一个名为 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);
获取可执行文件的目录。
如果您想在安装位置下的data 目录中找到一个文件,您可以这样做
string dataFile = Path.Combine(exeDir, "data\settings.xml");
请注意,在 Windows Vista 及更高版本中,默认情况下您将没有写入 位于安装目录下的目录的访问权限。
关于c# - 获取文件的相对路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12698599/