在Ubuntu升级到mono 4.0.1后出现的问题

3

我刚刚将我的ubuntu机器升级到了最新发布的Mono版本4.0.1。之前安装的版本是3.2.7(如果我没记错的话)。

现在问题来了:

我的第一个问题与SignalR和自托管有关。我有一个.NET 4.5.1控制台应用程序,其中我使用OWIN自托管NancyFx、Web Api和SignalR。在运行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 

我不知道这个错误的含义,非常感谢您提供的所有帮助。我使用的是Microsoft ASP.NET SignalR自托管包版本2.2.0。
另外一件事,我已经在新版本的mono上编译了所有程序集。
祝好, Simon

1
我在Asp.Net vNext中看到了这个 - http://stackoverflow.com/questions/28288136/running-signalr-self-host-samples-throws-exception-with-latest-mono-dev-branch,以及这里 https://github.com/aspnet/SignalR-Server/issues/93。我想知道这是否是mono的一个bug... - Pawel
我对Mono提出了一个问题 - https://bugzilla.xamarin.com/show_bug.cgi?id=29665 - Pawel
太好了,谢谢Pawel! - Simon
@Pawel 谢谢,我也遇到了同样的问题,但是在 mono master 上一切都正常。 - cnd
@Heather - 是的,看起来3天前已经修复了 - https://bugzilla.xamarin.com/show_bug.cgi?id=29665#c5 - Pawel
1个回答

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接