我的问题与这篇文章中提到的问题非常相似:
System.ObservableExtensions.Subscribe: ambiguous reference
我想使用“ GraphQL for .NET” nuget软件包和“ Plugin.BluetoothLE”软件包。
“ GraphQL for .NET”引用System.Reactive.Core,“ Plugin.BluetoothLE”引用System.Reactive
如另一篇文章所述:
在进一步调查中,我发现ObservableExtensions同时存在System.Reactive.Core和System.Reactive。
我该如何解决? “ Plugin.BluetoothLE”具有System.Reactive 4.0.0,“ GraphQL for .NET”具有System.Reactive.Core 3.1.1。
我是否可以升级GraphQL中的System.Reactive.Core?
答案 0 :(得分:1)
我还没有在下面尝试过,但是您可以在他们的github上看到它被描述为重大更改,并且有解决方法。参见下面突出显示的句子。
v4.0更改
由于修复#205-实施程序集版本策略引起的压倒性痛苦,我们将这些库重构为单个库System.Reactive。为避免破坏引用v3库的现有代码,我们在新程序集中使用了带有TypeForwarders的外观。 如果您引用了针对v3.0构建的二进制文件,请使用新的System.Reactive.Compatibility程序包。
支持的平台 Rx 4.1支持以下平台
.NET Framework 4.6+ .NET Standard 2.0+(包括.NET Core,Xamarin和其他) 超人 值得注意的是,不再支持Windows 8,Windows Phone 8和旧版PCL库。
v3.0重大更改
在从v2.x.x迁移到v3.0.0的过程中,NuGet软件包的软件包命名已更改
Rx-Main现在是System.Reactive Rx-Core现在是System.Reactive.Core Rx-Interfaces现在是System.Reactive.Interfaces Rx-Linq现在是System.Reactive.Linq Rx-PlatformServices现在是System.Reactive.PlatformServices Rx-Testing现在是Microsoft.Reactive.Testing 这使NuGet软件包的命名与NuGet准则一致,并且与每个软件包中的主要命名空间保持一致。强名称密钥也已更改,这被认为是重大更改。但是,没有预期的API更改,因此,一旦您更改了NuGet,就无需更改任何代码。
答案 1 :(得分:0)
两种方式之一