【问题标题】:Is there any difference between packages Rx-WPF and Rx-Xaml?Rx-WPF 和 Rx-Xaml 包之间有什么区别吗?
【发布时间】:2013-04-20 22:31:17
【问题描述】:

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

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

添加 Rx-main 后,有两个额外的 WPF 相关的包可以安装

  • Rx-XAML
  • Rx-WPF

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

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

【问题讨论】:

  • 现在是System.Reactive.Windows.Threading

标签: wpf nuget system.reactive


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 让我得出这个结论的原因是所有的包都有相同的版本号。我原以为已弃用的那些会被抛在后面并有旧的版本号,但我猜 Rx-Xaml 根本不需要更新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 2017-04-05
    • 2014-09-18
    相关资源
    最近更新 更多