一次使用某些库时的不明确调用



在我的Xamarin项目中,我使用的是ReactiveUI和Firebase.Xamarin。同时使用这两个库时,任何尝试使用System.Reactive.Linq.Observable扩展方法(如WhereSelect(都会导致编译时错误:

调用在以下方法或属性之间不明确:"System.Reactive.Linq.Observable.Where(System.IObservable, System.Func("和"System.Reactive.Linq.Observable.Where(System.IObservable, System.Func(">

我认为这是由这两个库在同一命名空间中定义/引用相同的方法引起的。我该如何解决这个问题?

您可能正在加载定义该命名空间的程序集的多个版本。可能是您引用的程序集加载了公共依赖项。如果他们加载该程序集的不同版本,则会收到此错误。

确保使用依赖于同一版本的依赖程序集的两个库的版本。

Firebase.Xamarin不再维护,所以如果我想遵循@PhilipSmith建议,我将不得不使用超过2年的ReactiveUI版本。我不想这样做,所以我决定克隆Firebase.Xamarin,因为它的OSS,并将其作为另一个项目添加到我的解决方案中,目的是改变它引用的ReactiveUI版本。但是当我添加为引用项目时,错误消失了。

相关内容

  • 没有找到相关文章

最新更新