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
4

5 回答 5

17

在参考文献中,我发现System.Web.WebPages.dll版本3.0.11001.0显示了这种类型的错误,但是当我将其替换为System.Web.WebPages.dll版本3.0.20129.0时它可以工作。因此,您应该从参考中删除旧版本并下载另一个版本,然后清理解决方案重建它会起作用。

于 2014-03-14T09:07:28.187 回答
1

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

于 2014-04-08T19:14:07.390 回答
0

请确保您有参考: using System.Web.Http; (c)
或导入 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 - 希望这会让你朝着正确的方向前进!如果您有其他详细信息,请告诉我,我将非常乐意继续尝试并提供帮助!

希望一切安好。

于 2014-01-29T06:27:22.783 回答
0

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

于 2014-11-10T05:32:54.510 回答
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>
于 2014-07-25T14:03:11.687 回答