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?
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.