首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么ReactiveUI依赖于旧版本的System.Reactive?

为什么ReactiveUI依赖于旧版本的System.Reactive?
EN

Stack Overflow用户
提问于 2016-12-21 17:40:41
回答 1查看 1.5K关注 0票数 9

我有一个针对.Net 4.5.2的多项目Visual解决方案。在其中一个项目( WPF应用程序)中,我使用nuget添加了System.Reactive版本3.0.1000.0包,然后添加了ReactiveUI 7.0.0.0包。

在另一个项目( WPF应用程序使用的类库)中,我只添加了System.Reactive版本3.0.1000.0包。

ReactiveUI包似乎依赖于一组旧的反应性包(RX-Core2.2.5等)。我可以告诉您这一点,因为WPF应用程序项目文件中的HintPaths指向诸如packages\Rx-Core.2.2.5\lib\net45\System.Reactive.Core.dll这样的位置。

当我构建和运行应用程序时,我会得到一个FileLoadException,因为至少有一个项目试图使用错误的dll版本。以下是典型的..。

代码语言:javascript
复制
System.IO.FileLoadException occurred
  HResult=0x80131040
  Message=Could not load file or assembly 'System.Reactive.Linq, Version=3.0.1000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

我也许可以通过将整个解决方案的所有System.Reactive包降级到2.2.5来修复这个问题,但这似乎是一个非常旧的版本(2014年)。

为什么ReactiveUI要依赖于System.Reactive的v2.2.5?有没有办法改变这种行为,以便我可以在整个解决方案中使用最新版本的System.Reactive?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-22 09:04:08

这在关于github的这一期中得到了解释。长话短说-反应扩展的新版本在RxUI 7.0的开发周期中出现得很晚,所以团队决定跳过这个版本。它帮助人们维护现有的应用程序--他们可以同时升级RxUI版本而不影响Rx版本。计划在RxUI 8.0发行版中依赖最新的Rx。

正如@shiftkey所述:

由于System.Reactive 3.0引入的API不多(它更多地是关于基础设施和基础设施),以及RxUI 7.0已经非常接近的事实,所以决定在下一个主要版本中更容易忽略这一点。 是的,随着所有的基础设施工作到位,我们的目标是保持RxUI 8发布周期的重点。

一边的音符。Rx2.x已经很长一段时间(2014年)没有更新了,这个事实并没有看上去那么糟糕--这是一项非常可靠的技术,你可以放心地使用它。升级到3.0并没有改变多少API(也没有引入破坏性的更改),所以如果您现在坚持使用2.x,那么在项目周期的后期升级应该不会很痛苦。

尽管如此,如果您今天真的想在RxUI中使用Rx3.0,我建议您加入工程松弛通道并参与这个项目,方法是测试不断流失的边缘版本,并贡献自己:)

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41268764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档