我将我的MVC5项目更新为MVC5.1,现在在路由字典上有异常:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
堆栈跟踪:
{"Method not found: 'System.Web.Routing.RouteValueDictionary System.Web.WebPages.TypeHelper.ObjectToDictionaryUncached(System.Object)'."}
at System.Web.Mvc.RouteCollectionExtensions.CreateRouteValueDictionaryUncached(Object values)
at System.Web.Mvc.RouteCollectionExtensions.IgnoreRoute(RouteCollection routes, String url, Object constraints)
at System.Web.Mvc.RouteCollectionExtensions.IgnoreRoute(RouteCollection routes, String url)
at WebApplication1.RouteConfig.RegisterRoutes(RouteCollection routes) in c:\Users\aivanov\Documents\Visual Studio 2013\Projects\WebApplication1\WebApplication1\App_Start\RouteConfig.cs:line 14
at WebApplication1.MvcApplication.Application_Start() in c:\Users\aivanov\Documents\Visual Studio 2013\Projects\WebApplication1\WebApplication1\Global.asax.cs:line 17
5 回答
在参考文献中我发现 System.Web.WebPages.dll 版本 3.0.11001.0 显示了这种类型的错误,但当我用 System.Web.WebPages.dll 版本 3.0.20129.0 替换它时,它可以工作 . 所以,你应该从refrences中删除旧版本并下载其他版本,而不是 clean solution , rebuild ,它会起作用 .
在我的情况下帮助删除临时文件夹“C:\ Users \ AppData \ Local \ Temp \ Temporary ASP.NET Files \”中的文件
请确保您引用:using System.Web.Http; (C)
或导入System.Web.Http(vb)
位于App_Start目录中RouteConfig文件的顶部 .
除此之外,虽然 Headers 有点偏离主题,你可能会在MS上的这个链接找到你想要的东西:http://www.asp.net/mvc/tutorials/older-versions/controllers-and-routing/asp-net-mvc-routing-overview-cs - 希望这会让你朝着正确的方向前进!如果您有其他详细信息,请告诉我,我将非常乐意继续尝试和帮助!
希望一切安好 .
除了@Leonardo建议的步骤之外,我还必须将以下内容添加到我的Web.config中:
我重新安装了Microsoft Asp.Net MVC的nuget软件包,它对我有用 . 我不确定,但我认为升级MVC版本后会出现此问题 . 所以重新安装nuget包工作 .