如何读取复制到 ASP .net 输出目录的文件?

use*_*494 5 c# asp.net reflection visual-studio-2012

我有一个 VS 2012 Web 服务项目,其中包含一个名为 myconfig.xml 的文件,我已将此文件的复制操作属性设置为“始终复制”

我尝试使用以下行加载 XML 文件:

doc.Load("myconfig.XML");
Run Code Online (Sandbox Code Playgroud)

但是 ASP.net 引发异常,因为它无法从 C:\program files (x86)\IIS Express 7 读取文件

我试过这个:

System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
Run Code Online (Sandbox Code Playgroud)

但它返回临时目录的路径,如何获取 myconfig.XML 的实际位置?

Aka*_*ava 3

在 ASP.NET 中你应该总是使用Server.MapPath

// root folder
var docPath = Server.MapPath("/doc.xml");

// some other folder
var docPath = Server.MapPath("/folder/doc.xml");
Run Code Online (Sandbox Code Playgroud)