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

时间:2013-11-18 21:36:20

标签: c# asp.net visual-studio-2012 reflection

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

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

doc.Load("myconfig.XML");

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

我试过这个:

System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

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

3 个答案:

答案 0 :(得分:2)

应该是

Environment.CurrentDirectory

在网络环境中,您可以使用AppDomain来确定目录,例如

AppDomain.CurrentDomain.BaseDirectory

答案 1 :(得分:2)

在ASP.NET中,您应始终使用Server.MapPath

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

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

答案 2 :(得分:0)

您是否认为asp.net允许您创建多个配置文件?

看看这篇文章的接受答案,它应该指向正确的方向,

Multiple ASP.NET Configuration Files