4

如果我将 RX-main 包添加到 WPF 应用程序,我会安装以下依赖包:

  • 接收接口
  • 接收核心
  • Rx-Linq
  • Rx 平台服务
  • Rx-主要

添加 Rx-main 后,可以安装两个与 WPF 相关的附加包

  • RX-XAML
  • 接收-WPF

Rx-Xaml 依赖于 Rx-Main,而 Rx-WPF 依赖于 Rx-Xaml。但是,这两个包都添加了对 System.Reactive.Windows.Threading 的引用。如果它们之间有什么区别,为什么会有两个单独的包添加对同一个程序集的引用?

另外,我是否需要添加其中一个或两个才能在 WPF 中使用 RX?

4

2 回答 2

15

作为 Rx-Xaml 包的前所有者,我实际上知道这个问题的答案。过去只有 Rx-Silverlight 和 Rx-WPF。这使得创建像ReactiveUI这样的包变得困难,因为它们依赖于一个或另一个,具体取决于您使用的平台

因此,我创建了 Rx-Xaml,它实际上只是 Rx-Silverlight 和 Rx-WPF 的合并。然而,Rx 团队意识到拥有单独的包是愚蠢的,并问我他们是否可以自己接管这个名字。我很乐意,现在 Rx-Xaml 是您应该使用的包。自 2.0 以来的 Rx-Xaml 归微软所有。

tl;dr:使用 Rx-Xaml,忽略 Rx-WPF 和 Rx-Silverlight,它们已经过时了。

于 2013-04-21T23:39:50.330 回答
-1

从我使用NuGet Package Explorer看到的情况来看,Rx-WPF和 Rx-Silverlight都没有在它们各自的 nupkg 文件中包含它们自己的任何 DLL(或事实上的任何其他文件)。因此,它们似乎仅用作Rx-Xaml的容器。我的猜测是你仍然应该指向Rx-WPF,因为 Rx 团队可能会开始向它添加特定的逻辑,而这些逻辑不会包含在基本的Rx-Xaml包中。

于 2013-04-21T19:22:35.263 回答