我觉得我可能在 IIS 或全局文件中缺少一些配置?
我想加载一个 xml 文件:
var icon = XDocument.Load("/images/body/logos/LogoImageMappings.xml");
运行时失败,因为它试图找到文件 @ C:\images\body\logos\LogoImageMappings.xml
如何正确地将其定向到本地主机(或发布时的 Web 服务器)应用程序驱动器而不是本地 c:?
谢谢你。
我觉得我可能在 IIS 或全局文件中缺少一些配置?
我想加载一个 xml 文件:
var icon = XDocument.Load("/images/body/logos/LogoImageMappings.xml");
运行时失败,因为它试图找到文件 @ C:\images\body\logos\LogoImageMappings.xml
如何正确地将其定向到本地主机(或发布时的 Web 服务器)应用程序驱动器而不是本地 c:?
谢谢你。
您必须将路径映射到文件所在的目录。用这个:
string path = Server.MapPath("~/images/body/logos/LogoImageMappings.xml");
var icon = XDocument.Load(path);
该Server.MapPath
函数会将相对路径映射到服务器上文件的完整路径,将波浪号替换为正确的目录(注意相对路径必须指向您网站目录的子目录,出于安全原因,通常您可以'不要访问任何比这更高的东西)。
您有虚拟路径,要获取物理路径,请使用 MapPath :
var icon = XDocument.Load(HttpContext.Current.Server.MapPath("~/images/body/logos/LogoImageMappings.xml"));