Получить полный путь к файлу при отладке с помощью IIS Express

У меня есть приложение.NET, которое я пытаюсь отладить, и часть моего приложения загружает файл из моего проекта. Этот файл находится по адресу

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

В моем коде я указываю относительный путь к файлу и использую класс DirectoryInfo, чтобы получить полный путь к моему файлу:

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

Тем не менее, это возвращает следующий путь (дополнительные в качестве escape-символов):

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

Я ожидал, что путь, возвращаемый при отладке в IIS Express, будет соответствовать первому указанному пути, а не третьему. Почему это? Есть ли что-то еще, что мне нужно настроить в моем проекте, чтобы он правильно выводил пути? Я предполагаю, что этого не произойдет, если я разверну свой код на сайте IIS7, но я еще не достиг этого уровня тестирования.

1 ответ

Решение

Используйте Server.MapPath:

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

или HttpServerUtility.MapPath:

HttpServerUtility.MapPath("~/_templates/myFile.html")
Другие вопросы по тегам