【问题标题】:Should I support .NET 2.0?我应该支持 .NET 2.0 吗?
【发布时间】:2010-08-02 16:42:07
【问题描述】:

我目前正在从事一个开源项目,我最初是针对 .NET 3.5 Framework 编写代码。我正在使用少量的 Linq,但目前没有什么意义。我认为我的项目不需要任何更高级的功能(目前)

一位用户要求支持 .NET 2.0,并且在 2008/2010 年使用 ExtensionAttribute hack 来支持扩展方法并重新定义我在整个代码中使用的两个 Linq 方法(一半- 目前有十几种不同的方法)以支持 .NET 2.0。此外,我所依赖的程序集目前在 .NET 2.0 中可用(将来可能会更改???)。

好奇社区会做什么?我应该支持 .NET 2.0,坚持使用 3.5 并疏远一些用户吗?我的直觉告诉我应该做出必要的改变,但我想看看其他人是怎么想的?您会支持 .NET 2.0 中的单一代码库还是以某种方式管理 .NET 2.0 和 3.5 版本?

提前致谢!

【问题讨论】:

  • 他们坚持 2.0 的动机是什么?由于 3.5 仍然使用相同的 CLR,这实际上是一个相当保守的升级。
  • 这个问题确实没有明确的答案 - 这是非常主观的。应该是CW...
  • @Matt Greer - 坚持使用 .NET 2.0 的原因是 Windows 2000 的旧版 0S
  • @Reed Copsey- 抱歉,不熟悉 CW?另外,我不确定这是主观的,我正在寻求社区的意见,以确定应该使用什么标准来确定要支持的框架版本以及通过选择支持旧框架可能会遇到什么问题,例如停止支持由第 3 方大会等构成的框架。
  • @Calgary Coder:请参阅常见问题解答中的此页面:meta.stackexchange.com/questions/11740/…

标签: c# .net


【解决方案1】:

计费率 * 工作时间 = 成本
价格 * 获得的客户 = 收入

如果(成本 >= 收入)不转换。
否则转换。

我通常会鼓励客户端(如果只有一个)升级到 3.5 框架。他们不必更改任何现有代码(或者,它应该是微不足道的),而且它是一个相对轻量级的下载。

【讨论】:

  • 虽然我完全同意商业产品,但开源项目有些不同。当您将开发视为一种爱好时,所需的动机会有所不同,因为等式中的价格和计费率始终为 0……IMO,更重要的是要查看个人享受与社区吸收的满意度……
  • 添加 LINQBridge:如果 OP 按照他所说的方式使用 Linq,估计大约 20 分钟。即使他只赢得一位客户,也可能值得付出努力。
【解决方案2】:

这完全取决于您。吸引这个用户对你来说有多重要?您有多少其他用户在使用 .NET 2 与 3.5(或 4!!)?

基本上,您是唯一可以决定支持旧技术的努力是否值得您吸引的潜在用户的人。

但请记住 - 如果这是一个开源项目,用户可以随时修改您的代码以在 .NET 2 上运行...


话虽如此,如果这是我的项目,就个人而言,我会使用我想要使用的框架,并且我喜欢它。我觉得,特别是对于开源(非商业)产品,使用更新的技术会让我更有效率,我会更喜欢开发。 IMO,这将使该项目更有可能成功,因为我会更高兴地工作,并且能够花更多时间添加功能而不是解决 .NET 2 要求...

【讨论】:

    【解决方案3】:

    如果您想在 .NET 2.0 上轻松使用 Linq,请下载 LINQBridge,这样您就不必重新发明轮子了。最好的是,它是开源且免费的。

    【讨论】:

    • LinQBridge 看起来很棒。如果我遇到这种情况,我可能会使用这个解决方案。
    • 太棒了,不知道那个图书馆。谢谢! (我当然推出了自己的方法,但我可以肯定地看到,在其他项目中真正有用的地方不只是使用了几个简单的 linq 方法)。
    • 改变了我的想法...使用 LinqBridge 允许我从我的解决方案中删除两个项目。再次感谢!
    【解决方案4】:

    如果问题不大,请尽最大努力支持 .NET 2.0,以免像您建议的那样疏远许多客户,尽管我怀疑您是否能够永远这样做,因为有太多不错的新功能并投入到每个新功能中.NET 版本。他们无法安装更高版本的 .NET 是否有原因?

    【讨论】:

      【解决方案5】:

      就您的客户群而言,这个用户代表什么?显然,如果这是您唯一的客户,那么您要么需要满足他们的需求,要么让他们相信需要升级他们的 .NET 安装。另一方面,如果该客户只占您整体客户群的一小部分,我会坚持使用对您的项目最有意义的 .NET 框架版本。

      在任何情况下,我都不会为您的产品创建兼容 .NET 2.0 和 .NET 3.5 的版本。这只会增加开发的复杂性以及支持和维护所需的时间。

      【讨论】:

        猜你喜欢
        • 2010-09-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-21
        • 1970-01-01
        • 1970-01-01
        • 2011-07-16
        • 1970-01-01
        相关资源
        最近更新 更多