首页 文章

Mvc 5.1 MissingMethodException System.Web.WebPages.TypeHelper.ObjectToDictionaryUncached

提问于
浏览
6

我将我的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 回答

  • 1

    在参考文献中我发现 System.Web.WebPages.dll 版本 3.0.11001.0 显示了这种类型的错误,但当我用 System.Web.WebPages.dll 版本 3.0.20129.0 替换它时,它可以工作 . 所以,你应该从refrences中删除旧版本并下载其他版本,而不是 clean solutionrebuild ,它会起作用 .

  • 0

    在我的情况下帮助删除临时文件夹“C:\ Users \ AppData \ Local \ Temp \ Temporary ASP.NET Files \”中的文件

  • 0

    请确保您引用: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 - 希望这会让你朝着正确的方向前进!如果您有其他详细信息,请告诉我,我将非常乐意继续尝试和帮助!

    希望一切安好 .

  • 16

    除了@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>
    
  • 0

    我重新安装了Microsoft Asp.Net MVC的nuget软件包,它对我有用 . 我不确定,但我认为升级MVC版本后会出现此问题 . 所以重新安装nuget包工作 .

相关问题