无法映射路径' /'。 .net 4.0

时间:2011-04-01 12:41:15

标签: c# asp.net .net iis

我有一个.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

我尝试了最流行的解决方案,我发现谷歌(替换和../与〜/但没有任何...)

更新

Lookups构造函数:

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

4 个答案:

答案 0 :(得分:46)

我知道这是一个古老的问题,但是对于记录,如果你正在运行IIS,那么

控制台中的

'iisreset'可能有助于解决“无法映射路径'/'。”问题。在IIS中重命名站点后,我遇到了这个问题。

答案 1 :(得分:12)

我只是尝试在Microsoft Step Step中进行练习,并且在尝试预编译ASP.NET应用程序时遇到了这个问题。

以下是我如何克服这个问题 - 我花了一天时间才弄明白!

当您打开Visual Studio命令提示符以执行构建/预编译时,必须右键单击并选择“以管理员身份运行”。

这就是我尝试运行此aspnet_compiler时所需的全部内容-v DeployThis C:\ DeployThis -f -u

答案 2 :(得分:5)

试试System.Web.HttpContext.Current.Server.MapPath("~/")。请注意~

答案 3 :(得分:3)

我们遇到了同样的问题,IISRESET没有这样做。 事实证明,我们尝试映射的虚拟目录在命名中有一个双反斜杠(d:\folder\\subfolder\)(IIS虚拟目录是使用powershell脚本创建的)。删除额外的反斜杠使HostingEnvironment.MapPath停止抛出异常。

就这种情况而言,这可以帮助某人: - )