使用IIS Express进行调试时获取文件的完整路径

时间:2012-11-08 18:20:48

标签: c# .net iis iis-express directoryinfo

我有一个.NET应用程序,我正在尝试调试,部分应用程序从我的项目中加载一个文件。该文件位于

C:\Users\USER_FOLDER\Documents\Visual Studio 2012\Projects\MY_PROJECT\_templates\myFile.html

在我的代码中,我指定了文件的相对路径,并使用DirectoryInfo类获取文件的完整目录路径:

string myFile = (new DirectoryInfo("_templates/myFile.html")).FullName;

但是,这会返回以下路径(额外的\作为转义字符):

"C:\\Program Files\\IIS Express\\_templates\\myFile.html"

我期待IIS Express中的调试与我列出的第一条路径匹配时返回的路径,而不是第三条路径。为什么是这样?我需要在项目中设置其他东西以使其正确地获得路径吗?我假设如果我将代码部署到IIS7站点,这不会发生,但我还没有达到测试级别。

1 个答案:

答案 0 :(得分:6)

使用Server.MapPath

Server.MapPath("~/_templates/myFile.html")

HttpServerUtility.MapPath

HttpServerUtility.MapPath("~/_templates/myFile.html")