在我编写的一个库中,我有一个函数,它创建一个Rx-ReplaySubject
,并从任务中向它推送一些东西,将主题作为IObservable
返回给其他人观看(它只是发布任务正在进行的工作的一些进度更新)。
然后,我使用LINQPad中的库,调用该函数,并等待可观察到的:
scenario.SeedAsync(context).Wait();
然后我被一个TypeInitializationException
击中,上面写着:
无法将"System.Reactive.PlatformServices.CurrentPlatformEnlightmentProvider"类型的对象强制转换为"System.Reactor.PlatformServices.IPlatformEnligentProvider"类型。
据我所知,这些启蒙提供商是Rx利用特定平台功能的一种方式。我想这意味着可能是版本控制不匹配之类的,但我找不到任何明显的东西。我已经检查过两边都包含相同版本的Rx,这是我的机器构建库,我正在运行LINQPad的AnyCPU构建,但该库也是为AnyCPU构建的,所以我认为这应该没问题。我有点困惑。我甚至尝试过在代码中处理不同类型的主题和内容,以确保它不特定于任何一个主题和内容。
我还没能在谷歌或SO.上找到这个错误的任何提示
有什么想法吗?我真的不知道在这一点上该往哪里看!
我的心理调试器说你的Rx二进制文件与Linqpad 中使用的版本不匹配