Bri*_*ian 2 c# asp.net asp.net-mvc asp.net-mvc-4
我刚刚更新到最新的 ASP.NET MVC,我得到:
Method not found: 'System.Web.Routing.RouteValueDictionary
System.Web.WebPages.TypeHelper.ObjectToDictionaryUncached(System.Object)'.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.
Exception Details: System.MissingMethodException: Method not
found: 'System.Web.Routing.RouteValueDictionary
System.Web.WebPages.TypeHelper.ObjectToDictionaryUncached(System.Object)'.
Source Error:
Line 12: public static void RegisterRoutes(RouteCollection routes)
Line 13: {
Line 14: routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
Line 15:
Line 16: //routes.MapRoute(
Source File: C:\ProjectX\App_Start\RouteConfig.cs Line: 14
Stack Trace:
[MissingMethodException: Method not found: 'System.Web.Routing.RouteValueDictionary
System.Web.WebPages.TypeHelper.ObjectToDictionaryUncached(System.Object)'.]
System.Web.Mvc.RouteCollectionExtensions.CreateRouteValueDictionaryUncached(Object values) +0
System.Web.Mvc.RouteCollectionExtensions.IgnoreRoute(RouteCollection routes, String url,
Object constraints) +94
System.Web.Mvc.RouteCollectionExtensions.IgnoreRoute(RouteCollection routes, String url) +7
COP.RouteConfig.RegisterRoutes(RouteCollection routes) in C:\ProjectX\App_Start\RouteConfig.cs:14
COP.MvcApplication.Application_Start() in C:\ProjectX\Global.asax.cs:27
[HttpException (0x80004005): Method not found: 'System.Web.Routing.RouteValueDictionary
System.Web.WebPages.TypeHelper.ObjectToDictionaryUncached(System.Object)'.]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context,
HttpApplication app) +9935033
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext
context, MethodInfo[] handlers) +118
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers,
IntPtr appContext, HttpContext context) +172
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext,
HttpContext context) +336
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +296
[HttpException (0x80004005): Method not found: 'System.Web.Routing.RouteValueDictionary
System.Web.WebPages.TypeHelper.ObjectToDictionaryUncached(System.Object)'.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9913572
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +101
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr,
HttpContext context) +254
Run Code Online (Sandbox Code Playgroud)
我遵循了本指南:http : //www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet- mvc-5-and-web-api-2
我什至第二次通过了文档中的 DLL 列表作为检查列表,以确保我没有遗漏任何内容。但是,我显然错过了一些东西。
尝试将您的 Web.config 和 packages.config 恢复到以前的可用版本并降级 NuGet 包...这可能是因为您的 MVC 已升级,而某些相关 DLL 仍然是旧的且不兼容的版本...
我遇到了类似的问题,我通过修改项目文件夹下的 Web.config 解决了它,如下所示:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930"
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.1.0.0" newVersion="5.1.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6916 次 |
| 最近记录: |