我正在使用c#。在我的项目中我有一个xml文件夹,其中我有一个xml文件说“file.xml”.. 我想在我的项目中使用该文件。我想从当前项目本身取得该文件,因为我将路径设为:使用c的相对路径#
xmlDoc.Load(@"..\xml\file.xml");
但它没有取出文件。 它显示了一些“C:”路径。 如何从项目本身检索此文件。
我正在使用c#。在我的项目中我有一个xml文件夹,其中我有一个xml文件说“file.xml”.. 我想在我的项目中使用该文件。我想从当前项目本身取得该文件,因为我将路径设为:使用c的相对路径#
xmlDoc.Load(@"..\xml\file.xml");
但它没有取出文件。 它显示了一些“C:”路径。 如何从项目本身检索此文件。
您应该在解决方案资源管理器中的文件上设置Copy to Output Directory
属性,以使用EXE将文件映射到该文件夹。
然后,您可以编写
xmlDoc.Load(Path.Combine(typeof(MyClass).Assembly, "file.xml"));
它使用EXE文件的实际位置也不管当前目录下的正常工作。
编辑:在ASP.Net,你应该把你的文件中App_Data
文件夹(这是不能公开访问),然后写
xmlDoc.Load(Server.MapPath("~/App_Data/file.xml"));
Path.Combine(typeof(MyClass).Assembly.Location.ToString(), "file.xml")
不起作用,因为'Location.ToString()'包含MyClass.exe – 2014-01-26 14:04:32
在我的情况下,这种方法是行不通的,因为Visual Studio项目包含文件是一个SQL数据库项目。 – 2018-02-28 08:00:50