我有一个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的实际位置?
答案 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)