开发者

Should I support .NET 2.0?

I am currently working on an open source project, and I had originally written my code against the .NET 3.5 Framework. I am using a small amount of Linq, but nothing significant at this point in time. I do not see much need for any of the more advanced features for my project (at this time)

A user has asked for .NET开发者_运维技巧 2.0 support, and it would not require much effort to use the ExtensionAttribute hack in 2008/2010 to support extension methods and re-define the couple of Linq methods I am using throughout my code (half-dozen different methods currently) in order to support .NET 2.0. Also, the assemblies I am dependant on are currently available in .NET 2.0 (may change in the future???).

Curious what the community would do? Should I support .NET 2.0, stick with 3.5 and alienate some users? My gut is telling me I should make the changes required, but I wanted to see what everyone else thought? Would you support a single code-base in .NET 2.0 or somehow manage .NET 2.0 and 3.5 versions?

Thanks in advance!


Billing Rate * hours worked = cost
price * customers gained = income

if(cost >= income) don't convert.
else convert.

I would generally encourage the client (if its only one) to upgrade to 3.5 framework. They won't have to change any of their existing code (or, so little it should be trivial) and it's a relatively light-weight download.


This is completely up to you. How important is it for you to attract this user? How many other users of yours are using .NET 2 vs. 3.5 (or 4!!)?

Basically, you're the only person who can decide whether the effort to support an older technology is worth the potential users you'd attract.

Remember, though - if this is an open source project, the user could always modify your code to work on .NET 2, as well...


That being said, if this was my project, personally, I'd use the framework I want to use, and that I enjoy. I feel that, especially for an open source (non-commercial) product, using newer technologies will make me more efficient, and I'll enjoy the development more. This, IMO, will make the project more likely to be a success, since I'll be happier working on it, and be able to spend more time adding functionality instead of working around a .NET 2 requirement...


If you want to use Linq on .NET 2.0 with almost no effort, download LINQBridge, so you do not have to reinvent the wheel. Best of it, it is open source and free.


If its not much trouble, do your best to support .NET 2.0 so as to not alienate many customers as you suggest, although I doubt you will be able to do it forever as too many nice new features and put into each new .NET version. Is there a reason they can't install a later version of .NET?


What does this one user represent in terms of your customer base? Obviously, if this is your only customer, then you either need to accommodate their needs or convince them of the need to upgrade their .NET installation. On the other hand, if this customer is a small percentage of your overall customer base, I would stick with the version of the .NET framework that makes the most sense for your project.

Under no circumstances would I create .NET 2.0-compliant and .NET 3.5-compliant versions of your product. This only increases the complexity of development and time required for support and maintenance.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜