我将我的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
答案 0 :(得分:16)
在参考文献中,我发现 System.Web.WebPages.dll 版本 3.0.11001.0 显示此类错误,但当我用系统替换它时.Web.WebPages.dll 版本 3.0.20129.0 它的工作原理。所以,您应该从引用中删除旧版本,然后下载其他版本,而不是清洁解决方案,重建,它将起作用。
答案 1 :(得分:1)
在我的案例中帮助删除临时文件夹中的文件" C:\ Users {yourprofilename} \ AppData \ Local \ Temp \ Temporary ASP.NET Files \"
答案 2 :(得分:0)
请确保您参考:
使用System.Web.Http; (c)中
要么
Imports System.Web.Http(vb)
位于App_Start目录中RouteConfig文件的顶部。
除此之外,虽然标题有点偏离主题,但您可能会在MS上的此链接中找到您所寻找的内容:http://www.asp.net/mvc/tutorials/older-versions/controllers-and-routing/asp-net-mvc-routing-overview-cs - 希望这会让您朝着正确的方向前进!如果您有其他详细信息,请告诉我,我将非常乐意继续尝试帮助!
希望一切顺利。
答案 3 :(得分:0)
除了@Leonardo建议的步骤之外,我还必须将以下内容添加到我的Web.config中:
<compilation debug="true" targetFramework="4.5.1">
<assemblies>
<add assembly="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"></add>
</assemblies>
</compilation>
答案 4 :(得分:0)
我重新安装了Microsoft Asp.Net MVC的nuget软件包,它对我有用。我不确定,但我认为升级MVC版本后会出现此问题。 所以重新安装nuget包就可以了。