Asp.net 在Ubuntu上更新到mono 4.0.1后出现问题

Asp.net 在Ubuntu上更新到mono 4.0.1后出现问题,asp.net,ubuntu,mono,signalr,self-hosting,Asp.net,Ubuntu,Mono,Signalr,Self Hosting,我刚刚在我的ubuntu机器上升级到了刚刚发布的Mono版本4.0.1。以前安装的mono版本是3.2.7(如果我没记错的话) 现在问题是: 我的第一个问题是关于信号器和自托管。我有一个.NET 4.5.1控制台应用程序,其中我使用OWIN自行托管NancyFx、Web Api和Signal。在mono 3.2.7上运行时,据我所知没有问题,但当我尝试在mono 4.0.1上启动应用程序时,我得到以下堆栈跟踪: Unhandled Exception: System.Reflection.Tar

我刚刚在我的ubuntu机器上升级到了刚刚发布的Mono版本4.0.1。以前安装的mono版本是3.2.7(如果我没记错的话)

现在问题是:

我的第一个问题是关于信号器和自托管。我有一个.NET 4.5.1控制台应用程序,其中我使用OWIN自行托管NancyFx、Web Api和Signal。在mono 3.2.7上运行时,据我所知没有问题,但当我尝试在mono 4.0.1上启动应用程序时,我得到以下堆栈跟踪:

Unhandled Exception:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidProgramException: Invalid IL code in (wrapper delegate-invoke) <Module>:invoke_callvirt_CancellationTokenRegistration_CancellationToken&_Action`1<object>_object (System.Threading.CancellationToken&,System.Action`1<object>,object): IL_0057: castclass 0x00000007

  at Microsoft.AspNet.SignalR.Infrastructure.CancellationTokenExtensions.SafeRegister (CancellationToken cancellationToken, System.Action`1 callback, System.Object state) [0x00000] in <filename unknown>:0 
  at Microsoft.AspNet.SignalR.Hosting.HostDependencyResolverExtensions.InitializeResolverDispose (IDependencyResolver resolver, CancellationToken hostShutdownToken) [0x00000] in <filename unknown>:0 
  at Microsoft.AspNet.SignalR.Hosting.HostDependencyResolverExtensions.InitializeHost (IDependencyResolver resolver, System.String instanceName, CancellationToken hostShutdownToken) [0x00000] in <filename unknown>:0 
  at Owin.OwinExtensions.UseSignalRMiddleware[HubDispatcherMiddleware] (IAppBuilder builder, System.Object[] args) [0x00000] in <filename unknown>:0 
  at Owin.OwinExtensions.RunSignalR (IAppBuilder builder, Microsoft.AspNet.SignalR.HubConfiguration configuration) [0x00000] in <filename unknown>:0 
  at Owin.OwinExtensions+<>c__DisplayClass1.<MapSignalR>b__0 (IAppBuilder subApp) [0x00000] in <filename unknown>:0 
  at Owin.MapExtensions.Map (IAppBuilder app, PathString pathMatch, System.Action`1 configuration) [0x00000] in <filename unknown>:0 
  at Owin.MapExtensions.Map (IAppBuilder app, System.String pathMatch, System.Action`1 configuration) [0x00000] in <filename unknown>:0 
  at Owin.OwinExtensions.MapSignalR (IAppBuilder builder, System.String path, Microsoft.AspNet.SignalR.HubConfiguration configuration) [0x00000] in <filename unknown>:0 
  at Owin.OwinExtensions.MapSignalR (IAppBuilder builder, Microsoft.AspNet.SignalR.HubConfiguration configuration) [0x00000] in <filename unknown>:0 
  at Owin.OwinExtensions.MapSignalR (IAppBuilder builder) [0x00000] in <filename unknown>:0 
未处理的异常:
System.Reflection.TargetInvocationException:调用的目标已引发异常。-->System.InvalidProgrameException:中的IL代码无效(包装器委托调用):调用\u callvirt\u CancellationTokenRegistration\u CancellationToken&\u操作'1'对象(System.Threading.CancellationToken&,System.Action'1,对象):IL\u 0057:castclass 0x00000007
在Microsoft.AspNet.signal.Infrastructure.CancellationTokenExtensions.SafeRegister(CancellationToken CancellationToken,System.Action`1回调,System.Object状态)[0x00000]中:0
在Microsoft.AspNet.signal.Hosting.HostDependencyResolveX.InitializeResolverDispose(IDependencyResolver解析器,CancellationToken HostShutdowntToken)[0x00000]中:0
位于Microsoft.AspNet.signal.Hosting.HostDependencyResolvextensions.InitializeHost(IDependencyResolver解析器,System.String instanceName,CancellationToken HostShutdowntToken)[0x00000]中:0
在Owin.Owin.usesignalrmidware[hubdispatchermidware](IAppBuilder builder,System.Object[]args)[0x00000]中:0
在Owin.Owin.runsignar(IAppBuilder builder,Microsoft.AspNet.signar.HubConfiguration配置)[0x00000]中:0
在Owin.OWU+c__;u显示Class1.b_u 0(IAppBuilder子应用)[0x00000]中:0
在Owin.MapExtensions.Map(IAppBuilder应用程序,路径字符串路径匹配,System.Action`1配置)[0x00000]中:0
在Owin.MapExtensions.Map(IAppBuilder应用程序,System.String路径匹配,System.Action`1配置)[0x00000]中:0
在Owin.Owin.mapsigner(IAppBuilder、System.String路径、Microsoft.AspNet.signar.HubConfiguration配置)[0x00000]中:0
在Owin.Owin.mapsigner(IAppBuilder builder,Microsoft.AspNet.signar.HubConfiguration配置)[0x00000]中:0
在Owin.Owin.mapsigner(IAppBuilder构建器)[0x00000]中:0
我不知道这个错误可能意味着什么,我非常感谢大家的帮助。我正在使用Microsoft ASP.NET Signaler自主机包版本2.2.0

另外,我已经在新的mono版本上编译了所有的程序集

亲切问候,,
Simon

这是一个最近修复的Mono问题:

我在Asp.Net vNext中看到了它-在这里。我想知道这是否是mono中的一个bug…我对mono提出了一个问题-太好了,谢谢Pawel@Pawel谢谢,也有同样的问题,但一切都与mono兼容master@Heather-是的,看起来是三天前修好的-