What version of the .NET framework should I target?
Asked Answered
D

4

8

I'm a desktop C# developer (that is not ASP) and am wondering about version targeting for small personal projects. These are, of course, trying to reach as wide an audience as possible, and so I've been targeting .NET 3.0 (which is the latest version on a Windows Vista system without any service packs) and 2.0 (which is simply the most compatible version compatible with VS2008).

Unfortunately, this precludes me from learning any technologies such as LINQ introduced post 3.0, and, with an upcoming switch to VS2010, I'm wondering if I should target the new 4.0 platform at the expense of uses without the latest and greatest, or should I just stick to trying to reach as wide a userbase as possible?

Derivative answered 20/4, 2010 at 0:4 Comment(3)
see https://mcmap.net/q/1327649/-net-mono-install-baseKlecka
Do you expect your users to have access to web connections and time to do downloads?Nevsa
@Nevsa - I'm expecting them to run the exe, see some error message, and give up thinking it's a problem with the program itself.Derivative
K
5

I would recommend moving to the .Net 4.0 Client Profile.

Although it doesn't have a large install base yet, it's a small download that your users can easily install.

If you don't want your users to need to download the framework, you should target 3.5, which most people already have.

Kronos answered 20/4, 2010 at 0:7 Comment(2)
Exactly, its not a huge hassle anymore.Iey
As sort of a follow-up to this, I recently tried to deploy an application written to target .NET 4.0 on a friend's system running Win7 Ultimate, but not the latest .NET. His responses summarized: "Okay, it's a small install, I can handle it." "Oh, I have to restart? Meh, I'll look at it later." I still haven't heard back from him about it.Derivative
K
4

I would just use 3.5 or 4.0(if it where me I would go for 4.0). It's not like it will cost anything for them to update to the latest framework and probably will be included in the auto updates.

I would not just strictly do 2.0 anymore since in my opinion it's like rewarding bad behavior like programming these days for IE 6. If no developers say where going to move onto the newer and better versions of the software then what incentive do the people who have the older stuff to upgrade?

Once lots of their favorite stuff stops working they will upgrade fast.

Kulun answered 20/4, 2010 at 0:17 Comment(0)
M
2

I usually use .NET 2.0. The reason being many people (at least in my case) are running at least Windows Vista or Windows 7, which comes with .NET 2.0 (I believe). If they have XP, many have already have .NET 2.0 as well.

Believe it or not, many people still have slower connections, so downloading a newer framework (e.g. 3.5 or 4.0) might be a bit much and turn them away from your product.

In the end it depends on your clients and how much you know about them. If you're not sure, either go with 2.0 or 3.5. I wouldn't go to 4.0 just yet as it's relatively new and not many people have adopted it yet.

Massasoit answered 20/4, 2010 at 6:12 Comment(3)
Completely disagree.. .NET 4 is a LOT smaller.. Full installation is only 46 mb, and if you take the client subset - it's smaller.Abamp
46mb on a dial-up connection takes a while. Trust me. It can easily turn people away, I've seen it happen.Massasoit
I once tried to run a application written for .NET 3.5 on a fresh install of Vista. It ran fine, up until it hit a LINQ method and crashed because System.Core wasn't available, so I estimate Vista to come with 3.0 baseline.Derivative
W
0

Here are some usage statistics from our WPF application that you might find interesting. If you're going the WPF road, then I would highly recommend using .NET 4. It's simply so much better in terms of font and image rendering. We currently have 24% of our users running the .NET 4 version. But we do have a .NET 3.5 version to make installation smoother.

Wagon answered 6/1, 2011 at 9:55 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.