2011-04-01 117 views
17

我有一个.net应用程序,我刚刚在Visual Studio 2010中打开,并在启动时询问我将其转换为4.0。我去尝试建立的网站,我得到这个错误:无法映射路径'/'。 .net 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 

我试过最流行的解决方案,我发现谷歌可见(更换和../用〜/但wern't任何... )

更新:

查找构造函数:

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

你有一个默认的文档设置?你有没有设置路线? – Oded 2011-04-01 12:44:17

+0

你可以发布'Lookups'类的构造函数吗?显然有一些错误被映射。你在运行什么Web服务器?这是在虚拟目录下吗?如果您正在使用VS的内置Web服务器运行,您是否以管理员身份运行VS? – TheCloudlessSky 2011-04-01 12:48:08

+0

我正在使用VS中内置的Web服务器运行,是的,我以管理员身份运行。我坚持我会回答这两个问题,我会去找到查找类。 – kralco626 2011-04-01 12:49:49

回答

5

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

10

我只是试图去通过练习在Microsoft步骤通过步骤书,并试图预编译的ASP.NET机应用时,我打了这个问题。

这里就是我得到了过去,这 - 这花了我一天的时间搞清楚!

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

这是所有试图运行此aspnet_compiler -v DeployThis C使用时花了我:\ DeployThis -f -u

42

我知道这是老问题,但备案,如果您对IIS运行,那么

在控制台

“IISRESET”可以协助解决问题“未能映射路径‘/’。”问题。重命名IIS中的网站后出现此问题。

+0

谢谢!我刚刚升级了一个.NET应用程序,iisreset做了这个伎俩,即使我已经尝试重新启动该网站.. – ColinM 2012-09-14 03:27:34

+0

不错,这立即解决了我的问题。 – philwilks 2012-10-05 14:07:33

+0

没想到这会帮助,因为我重置了应用程序池,但欢呼声,这完全解决了我的问题 – workabyte 2014-05-13 15:46:10

1

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

刚刚在的情况下,这可能帮助别人:-)