ASP.NET Web API(beta)是否运行最新的Mono(稳定版)?

Unc*_*aul 6 .net mono asp.net-mvc-4 asp.net-web-api

我正在尝试使用Mono 2.10.8.1在Ubuntu 10.04上运行新的ASP.NET Web API beta(VS 2010默认Web API项目).不幸的是,到目前为止,我在所有尝试中都失败了.我得到的最"有意义"的例外情况如下:

System.TypeLoadException: Could not load type 'RestTest.Controllers.ValuesController' from assembly 'RestTest, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
  at (wrapper managed-to-native) System.Type:type_is_assignable_from (System.Type,System.Type)
  at System.Type.IsAssignableFrom (System.Type c) [0x00000] in <filename unknown>:0 
  at System.Web.Mvc.AreaRegistration.IsAreaRegistrationType (System.Type type) [0x00000] in <filename unknown>:0 
  at System.Web.Mvc.TypeCacheUtil+<>c__DisplayClass1.<FilterTypesInAssemblies>b__0 (System.Type type) [0x00000] in <filename unknown>:0 
  at System.Linq.Enumerable+<CreateWhereIterator>c__Iterator35`1[System.Type].MoveNext () [0x00000] in <filename unknown>:0 
  at System.Collections.Generic.List`1[System.Type].AddEnumerable (IEnumerable`1 enumerable) [0x00000] in <filename unknown>:0 
  at System.Collections.Generic.List`1[System.Type]..ctor (IEnumerable`1 collection) [0x00000] in <filename unknown>:0 
  at System.Linq.Enumerable.ToList[Type] (IEnumerable`1 source) [0x00000] in <filename unknown>:0 
  at System.Web.Mvc.TypeCacheUtil.GetFilteredTypesFromAssemblies (System.String cacheName, System.Predicate`1 predicate, IBuildManager buildManager) [0x00000] in <filename unknown>:0 
  at System.Web.Mvc.AreaRegistration.RegisterAllAreas (System.Web.Routing.RouteCollection routes, IBuildManager buildManager, System.Object state) [0x00000] in <filename unknown>:0 
  at System.Web.Mvc.AreaRegistration.RegisterAllAreas (System.Object state) [0x00000] in <filename unknown>:0 
  at System.Web.Mvc.AreaRegistration.RegisterAllAreas () [0x00000] in <filename unknown>:0 
  at RestTest.WebApiApplication.Application_Start () [0x00000] in <filename unknown>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
Run Code Online (Sandbox Code Playgroud)

我认为实际的"ValuesController"类没有任何问题.它基本上是一个空类.相反,似乎有一个名为"ApiController"的基类有问题,它与NuGet包"AspNetWebApi.Core.4.0.20126.16343"(System.Web.Http.dll)一起发布.我用"MoMA"(Mono Migration Analyzer)检查所有新库,结果是很多方法似乎还没有实现.

所以我的问题是:有谁知道ASP.NET Web API何时可以与Mono一起使用?有没有办法让它运行(也许通过使用Microsoft库而不是Mono)?

附录:

快速注意那些尝试使用上述配置在单声道上运行常规MVC4项目的人.我遇到了一些小问题,因为还没有实现一个方法 - 即AllowOnlyFipsAlgorithms().它被"CreateHashAlgorithm"称为"System.Web.Optimization"中的某处,为了让我的项目运行,我必须删除对该库的所有引用.是的,你现在必须没有所有新的和整洁的CSS/Javascript捆绑功能,但至少你得到了你的网站.

Rui*_*ues 1

这是可能的,但可能会很痛苦。考虑在单声道和 Windows 上运行的servicestack.net 。

  • 我以前没有听说过ServiceStack。它看起来速度快得令人印象深刻,具有强大的功能,我一定要在某个时候检查一下。总的来说,对于其他刚刚开始并可以自由选择库的人来说,这似乎是一个非常好的选择。不幸的是我不能。 (2认同)