我正在使用c#。在我的项目中,我有一个xml文件夹,其中我有一个xml文件说“file.xml”.. 我想在我的项目中使用该文件。我想从当前项目本身获取该文件,因为我将路径视为:
xmlDoc.Load(@"..\xml\file.xml");
但它没有拿到文件。 它显示了一些“C:”路径.. 如何从项目本身中检索此文件。
答案 0 :(得分:6)
您应该在解决方案资源管理器中的文件上设置Copy to Output Directory
属性,以使用您的EXE将文件gocpy到该文件夹。
然后你可以写
xmlDoc.Load(Path.Combine(typeof(MyClass).Assembly, "file.xml"));
这使用EXE文件的实际位置,无论当前目录如何都可以使用。
编辑:在ASP.Net中,您应该将文件放在App_Data
文件夹中(不可公开访问),然后写
xmlDoc.Load(Server.MapPath("~/App_Data/file.xml"));
答案 1 :(得分:2)
您应该将Copy to Output Directory
设置为“如果更新则复制”,然后您可以使用:
Path.Combine(Application.StartupPath, "file.xml");
答案 2 :(得分:0)
Path.Combine(typeof(MyClass).Assembly.Location.ToString(), "file.xml")