2014-01-27 57 views
6

我更新我MVC5項目MVC5.1,現在有例外的路線詞典:的mvc 5.1 MissingMethodException System.Web.WebPages.TypeHelper.ObjectToDictionaryUncached

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 

回答

15

在引用我發現System.Web.WebPages.dll版本3.0.11001.0顯示了這種類型的錯誤,但是當我用System.Web.WebPages.dll版本3.0替換它。 20129.0它的工作原理。所以,你應該刪除舊的從refrences和下載其他版本和清潔解決方案,重建它會工作。

+2

你在哪裏下載該版本? –

+0

我只需要做Clean Solution,問題就解決了。 – pashute

+0

當您從控制檯使用nuget.exe時,「Microsoft.AspNet.Mvc -Version 5.1.1」也會下載System.Web.WebPages.dll。 – Spirit

0

請確保你有一個參考: using System.Web.Http; (三)
或 進口System.Web.Http(VB)

在App_Start目錄中的文件RouteConfig的頂部。

除此之外,雖然標題有點偏離主題,但您可以在MS上的此鏈接找到您想要的內容: - 希望這會讓您朝着正確的方向前進!如果您有其他詳細信息,請讓我知道,我會很樂意繼續嘗試和幫助!

希望一切都很好。

1

在我的幫助的情況下刪除文件在臨時文件夾 「C:\用戶{yourprofilename} \應用程序數據\本地的\ Temp \臨時ASP.NET文件\」

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> 
0

我重新安裝的NuGet包微軟Asp.Net MVC和它爲我工作。我不確定,但我認爲升級MVC版本後會出現此問題。 所以重新安裝nuget包工作。