内部文件夹中的ASP.NET Server.Mappath问题

Shy*_*yju 2 c# asp.net

我有一个ASP.NET应用程序,在我的APP_Code文件夹中我有一个类.我有以下代码来读取我的根文件夹中的XML文件的内容

XmlDocument xmlSiteConfig = new XmlDocument();
xmlSiteConfig.Load(System.Web.HttpContext.Current.Server.MapPath("../myConfig.xml"));
Run Code Online (Sandbox Code Playgroud)

我的Root文件夹有几个带有嵌套内部文件夹的文件夹.当我调用Appcode类中的代码时,从第一级文件夹开始,我能够正确加载XML文件,因为路径是正确的.如果我从一个固有的文件夹调用同一段代码,我收到一个错误.如果我将代码更改为以下它将工作正常

xmlSiteConfig.Load(System.Web.HttpContext.Current.Server.MapPath("../../myConfig.xml"));
Run Code Online (Sandbox Code Playgroud)

我怎么能解决这个问题.我不想改变对这段代码的各种调用的文件路径.用什么代码我可以解决问题,这样程序就会加载XML文件而不管调用位置如何.有什么建议?

提前致谢

Dav*_*d M 17

如果它在根文件夹中,请使用:

Server.MapPath("~/myConfig.xml")
Run Code Online (Sandbox Code Playgroud)

这将适用于任何目录.