本文介绍了在单声道未能加载类型'System.Web.Http.WebHost.Routing.HttpRouteExceptionHandler“的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试着在单声道使用最新的Asp.Net的Web API,但错误显示是这样的:

  System.TypeLoadException
未能从程序集加载类型System.Web.Http.WebHost.Routing.HttpRouteExceptionHandler'System.Web.Http.WebHost,版本= 5.1.0.0,文化=中性公钥= 31bf3856ad364e35'。说明:HTTP 500.Error处理请求。
联系方式:非网上例外。异常原点(应用程序或对象的名称):System.Web程序。
异常堆栈跟踪:
  在System.Web.Routing.UrlRoutingModule.PostResolveRequestCache(System.Web.HttpContextBase上下文)[0x00054]中/Volumes/build-root-ramdisk/mono-3.4.0/mcs/class/System.Web.Routing/System.Web.Routing/UrlRoutingModule.cs:128
  在System.Web.Routing.UrlRoutingModule.PostResolveRequestCache(System.Object的0,System.EventArgs发送)[0x00007]中/Volumes/build-root-ramdisk/mono-3.4.0/mcs/class/System.Web.Routing/System.Web.Routing/UrlRoutingModule.cs:88
  在System.Web.HttpApplication +下; RunHooks> c__Iterator0.MoveNext()[0x001ba]在/Volumes/build-root-ramdisk/mono-3.4.0/mcs/class/System.Web/System.Web/HttpApplication.cs :1050
  在System.Web.HttpApplication +下;管道> c__Iterator1.MoveNext()[0x0073b]在/Volumes/build-root-ramdisk/mono-3.4.0/mcs/class/System.Web/System.Web/HttpApplication.cs :1260
  在System.Web.HttpApplication.Tick()[0x00000]在/Volumes/build-root-ramdisk/mono-3.4.0/mcs/class/System.Web/System.Web/HttpApplication.cs:932版本信息:3.4.0((无/ c3fc3ba周四5月1日22时52分17秒EDT 2014年); ASP.NET版本:4.0.30319.17020

和我应通过的NuGet包括哪些DLL?目前,我引用这些程序集:

   - 系统(从GAC)
- System.Web程序(从GAC)
- System.Web.Http(来自的NuGet)
- System.Net.Http.Formatting(来自的NuGet)
- System.Web.Http.WebHost(来自的NuGet)
- Newtonsoft.Json(来自的NuGet)


解决方案

有在Xamarin的Bugzilla类似的错误。显然,单aspnetwebstack首先需要更新才能使用最新的Web API库:

I tried to use latest Asp.Net Web API in Mono, but the error shows like this:

System.TypeLoadException
Could not load type 'System.Web.Http.WebHost.Routing.HttpRouteExceptionHandler' from assembly 'System.Web.Http.WebHost, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.

Description: HTTP 500.Error processing request.
Details: Non-web exception. Exception origin (name of application or object): System.Web.
Exception stack trace:
  at System.Web.Routing.UrlRoutingModule.PostResolveRequestCache (System.Web.HttpContextBase context) [0x00054] in /Volumes/build-root-ramdisk/mono-3.4.0/mcs/class/System.Web.Routing/System.Web.Routing/UrlRoutingModule.cs:128
  at System.Web.Routing.UrlRoutingModule.PostResolveRequestCache (System.Object o, System.EventArgs e) [0x00007] in /Volumes/build-root-ramdisk/mono-3.4.0/mcs/class/System.Web.Routing/System.Web.Routing/UrlRoutingModule.cs:88
  at System.Web.HttpApplication+<RunHooks>c__Iterator0.MoveNext () [0x001ba] in /Volumes/build-root-ramdisk/mono-3.4.0/mcs/class/System.Web/System.Web/HttpApplication.cs:1050
  at System.Web.HttpApplication+<Pipeline>c__Iterator1.MoveNext () [0x0073b] in /Volumes/build-root-ramdisk/mono-3.4.0/mcs/class/System.Web/System.Web/HttpApplication.cs:1260
  at System.Web.HttpApplication.Tick () [0x00000] in /Volumes/build-root-ramdisk/mono-3.4.0/mcs/class/System.Web/System.Web/HttpApplication.cs:932

Version Information: 3.4.0 ((no/c3fc3ba Thu May 1 22:52:17 EDT 2014); ASP.NET Version: 4.0.30319.17020

And what dlls I should include via Nuget? Currently I referenced these assemblies:

- System (from GAC)
- System.Web (from GAC)
- System.Web.Http (from Nuget)
- System.Net.Http.Formatting (from Nuget)
- System.Web.Http.WebHost (from Nuget)
- Newtonsoft.Json (from Nuget)
解决方案

There is a similar bug in Xamarin bugzilla. Apparently Mono aspnetwebstack needs to be updated first in order to use latest Web API libraries:

https://bugzilla.xamarin.com/show_bug.cgi?id=19314

这篇关于在单声道未能加载类型'System.Web.Http.WebHost.Routing.HttpRouteExceptionHandler“的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-03 03:19