2010-08-02 63 views
1

我目前正在开发一个开源项目,最初我的代码是针对.NET 3.5 Framework编写的。我正在使用少量Linq,但在这个时间点上没有任何意义。我看不到任何更高级的功能需要我的项目(在这个时候)我应该支持.NET 2.0吗?

用户已经要求.NET 2.0的支持,并且它不需要太多的努力来使用ExtensionAttribute在2008年/以支持扩展方法并重新定义我在代码中使用的几种Linq方法(当前有六种不同的方法),以支持.NET 2.0。另外,我依赖的程序集目前在.NET 2.0中可用(将来可能会更改???)。

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

在此先感谢!

+6

他们坚持2.0的动机是什么?由于3.5仍然使用相同的CLR,它实际上是一个非常保守的升级。 – 2010-08-02 16:43:43

+0

这个问题确实没有明确的答案 - 这是非常主观的。应该可能是CW ... – 2010-08-02 16:46:24

+0

@Matt Greer - 坚持使用.NET 2.0的原因是Windows 2000的0S 0 – 2010-08-02 16:56:40

回答

1

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

+0

LinQBridge看起来不错。如果我遇到过这种情况,我可能会使用这个解决方案。 – 2010-08-02 20:26:08

+0

太棒了,不知道那个图书馆。谢谢! (当然,我自己也推出了自己的产品,但我可以明确地看到,在其他项目中实际上有用的不止是一些简单的linq方法)。 – 2010-08-02 22:39:28

+0

改变了我的想法...使用LinqBridge允许我从我的解决方案中删除两个项目。再次感谢! – 2010-08-02 23:04:51

1

如果没什么问题,尽你所能地支持.NET 2.0以避免疏远许多客户,尽管我怀疑你可以永远做到这一点,因为有太多不错的新功能,新的.NET版本。是否有他们无法安装更高版本的.NET的原因?

2

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

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

记住,虽然 - 如果这是一个开源项目,用户可以随时修改您的代码在.NET 2工作,以及...


话虽这么说,如果这是我的项目,个人而言,我会使用我想使用的框架,并且我喜欢。我觉得,特别是对于开源(非商业)产品来说,使用更新的技术会让我更有效率,而且我会更加喜欢这种开发。这样,IMO将使项目更有可能取得成功,因为我会更快乐地工作,并且能够花费更多时间添加功能,而不是围绕.NET 2的要求工作......

3

账单价格*工作时间=成本
价格*客户上涨=收入

if(cost> = income)不转换。
其他转换。

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

+0

尽管我完全同意商业产品,但开源项目有所不同。当你将发展视为一种业余爱好时,所需要的动机是不同的,因为方程中的价格和费率始终为0 ......海事组织更重要的是从社区吸收看个人享受与满意度。 – 2010-08-02 17:04:24

+0

添加LINQBridge:如果OP按照他说的方式使用了Linq,估计大约需要20分钟。即使他赢得一个客户,也许值得付出努力。 – 2010-08-02 20:40:18

1

这一位用户在您的客户群方面表现如何?显然,如果这是你唯一的客户,那么你需要满足他们的需求或者说服他们需要升级他们的.NET安装。另一方面,如果这个客户只占整个客户群的一小部分,我会坚持使用最适合您项目的.NET框架版本。

在任何情况下,我都不会创建符合.NET 2.0和.NET 3.5标准的产品。这只会增加支持和维护所需的开发和时间的复杂性。