Which version of the .net framework to use
I'm developing an application for wide use using开发者_开发技巧 c#.
I'v writen most of the project, a freeware app, using the 3.5 ,net framework and now it's time to publish this project. And I have run into a few dilemas I would like your opinion .
Most people don't have ,net 3.5, should i offer the user to install it? the install is quite complicated and there's a 250MB download (if the user doesn't have XP SP2). I'm not sure the user will click through.
If so, should I just downgrade the whole project to .NET 1.0? so that the max amount of people would be able to use my app, or should I use 4.0.
I can use .NET 4.0, ask the user to install a 28MB file, and save on development time which i can invest on making a great product the users would enjoy more.
I really don't know which way to go.
You shouldn't go back to .NET 1.0/1.1. Your application, even though written in .NET 3.5, should run on .NET 2.0 (CLR) as all Versions up to 3.5 are compatible to the .NET 2.0 Runtime. 2.0 should be widely supported and installed on most up-to-date operating systems (Windows).
If you require features from .NET 4.0 you can of course upgrade, which in turn means that your users would have to upgrade too.
You can write your app in VS2010 but still set the target .NET framework to 2.0 or 3.5. You won't be able to use latest features but at least you can use latest IDE.
You could use the .net 4 Client profile libs, smaller install for the user, new technology for the dev. also, AFIK, .net 3.5 is now distributed via windows update, so you can pretty much be sure everyone has it.
I strongly suggest to use what you already have, don't downgrade.
Now, those options aren't the ones you should have, instead:
- Use the client profile of 3.5 SP1
- Use the client profile of 4.0
Users are a more likely to have 3.5 SP1 than 4.0, but if you'll benefit greatly from features 4.0 its worth the upgrade. If you don't see a strong benefit in upgrading to 4.0, wait some time for it and keep it to 3.5 SP1.
I strongly share your dillemas, beeing author of online apps myself. I stick to framework 2.0, and only in recent time I am beginning to wander to upgrade to 3.51 or 4.0, and answer to 250mb download problem is called:
""CLIENT PROFILE""
Check this:
Convince me to move to .net 3.5 (from 2.0)
and this:
http://windowsclient.net/wpf/wpf35/wpf-35sp1-client-profile.aspx
Do you know who your target audience is?
Are they mostly windows XP users? SP3? Or mostly Windows 7 users? Are they mostly broadband users? What average speeds? You need to find this out first.
Once you have the statistics for your demographic, you should know you what operating systems they use and therefore what versions of the framework they would have installed and how painful getting different versions would be for them.
This data, in turn, will help you decide about which version to target.
it depends on the people interested in your app and their operating systems and .Net versions.
But I think if your app is very good no one will find a problem in downloding the newest version of .Net to use it.
Some options to consider (in descending order of goodness and difficulty!):
Migrate to Silverlight - makes it easy to distribute and with the out-of-browser option you can now install and run full trust easily (see for example Seesmic Desktop).
Use .NET 4 with the client profile - smaller download option and it sounds like much of your target audience will need to download something.
精彩评论