Не удалось сопоставить путь «/». .net 4.0 - PullRequest
19 голосов
/ 01 апреля 2011

У меня есть приложение .net, которое я только что открыл в Visual Studio 2010 и преобразовал в 4.0, когда меня спросили об этом при запуске.Я пытаюсь создать сайт и получаю эту ошибку:

Failed to map the path '/'.

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

[InvalidOperationException: Failed to map the path '/'.]
   System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPath virtualPath, Boolean permitNull) +8804446
   System.Web.Hosting.HostingEnvironment.MapPathInternal(VirtualPath virtualPath) +42
   System.Web.VirtualPath.MapPathInternal() +4
   System.Web.HttpRequest.MapPath(VirtualPath virtualPath, VirtualPath baseVirtualDir, Boolean allowCrossAppMapping) +107
   System.Web.HttpRequest.MapPath(VirtualPath virtualPath) +37
   System.Web.HttpServerUtility.MapPath(String path) +99
   NU.WorkManagement.Lookup.Lookups..ctor() +82
   NU.WorkManagement.Engine.GlobalModule.Init(HttpApplication application) +624
   System.Web.HttpApplication.InitModulesCommon() +80
   System.Web.HttpApplication.InitModules() +43
   System.Web.HttpApplication.InitInternal(HttpContext context, HttpApplicationState state, MethodInfo[] handlers) +828
   System.Web.HttpApplicationFactory.GetNormalApplicationInstance(HttpContext context) +304
   System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext context) +107
   System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +327

Я попробовал самое популярное решение, которое я нашел в Google (замените и ../ на ~ /, но их не было...)

Обновление:

Конструктор поисков:

public Lookups()
{           
    _dirPath = System.Web.HttpContext.Current.Server.MapPath("/") + _xmlPath;           
}

Ответы [ 4 ]

46 голосов
/ 27 августа 2012

Я знаю, что это старый вопрос, но для справки, если вы работаете с IIS, тогда

«iisreset» в консоли может помочь в разрешении «Не удалось сопоставить путь» / ». вопрос. У меня возникла эта проблема после переименования сайтов в IIS.

12 голосов
/ 06 августа 2011

Я просто пытался выполнить упражнение в пошаговой книге Microsoft и столкнулся с этой проблемой при попытке предварительно скомпилировать приложение ASP.NET.

Вот как я прошел через это - и мне потребовался день, чтобы понять!

Когда вы открываете командную строку Visual Studio, чтобы выполнить сборку / прекомпиляцию, вы должны щелкнуть правой кнопкой мыши и выбрать «Запуск от имени администратора».

Это все, что мне понадобилось при попытке запустить этот aspnet_compiler -v DeployThis C: \ DeployThis -f -u

5 голосов
/ 01 апреля 2011

Попробуйте System.Web.HttpContext.Current.Server.MapPath("~/"). Обратите внимание на ~.

3 голосов
/ 04 марта 2016

У нас была такая же проблема, IISRESET не делал этого. Оказалось, что виртуальный каталог, который мы пытаемся отобразить, имеет двойную обратную косую черту (d:\folder\\subfolder\) в именовании (виртуальный каталог IIS был создан с помощью сценария powershell). Удаление дополнительной обратной косой черты заставило HostingEnvironment.MapPath перестать генерировать исключения.

На всякий случай это может кому-нибудь помочь: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...