2016-06-16 58 views
3

我已经创建了一个WPF项目,并在我的解决方案中添加了一个“ResFiles”文件夹。在这个文件夹里面我放了几个XML文件。在代码中,为了访问这些文件,我使用了如下所述的相对路径。解决方案文件夹路径问题内的本地文件问题

using (StreamWriter writer = new StreamWriter(@"../../ResFiles/xyz.xml")) 
     { 
      serializer.Serialize(writer, mydata, ns); 
     } 

这工作正常。但是,当我为我的应用程序创建安装项目时,文件夹结构正在改变,并且所给出的路径不起作用。这是抛出文件没有发现异常。如何解决这个路径问题?

+0

a使用Environment.CurrentDirectory作为基础? – smoksnes

+0

在解决方案中,我有MySolution-> MyProject-> ResFiles-> xyz.xml路径。当我安装应用程序时,路径是MyProject-> ResFiles-> xyz.xml。 –

回答

2

你可以试试这个

var f = File.ReadAllText(System.IO.Path.GetDirectoryName(System.AppDomain.CurrentDomain.BaseDirectory) + @"/Files/file.txt"); 

,你也需要改变生成操作,并复制到输出目录enter image description here

0

你可以试试这些

Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) 

Path.Combine(AppDomain.CurrentDomain.BaseDirectory,@"ResFiles\xyz.xml")