I know questions like this have been asked before, and I’ve viewed a lot of them. I think my question is a little different, but if I’m wrong, feel free to point me to another thread.
I have a mature .Net 2.0 application which is used by many people in my company. I compile it using VS2010. What I’m wondering is if there’s any reason to upgrade it to 4.0, if I don’t need any of 4.0’s features? Keep in mind that I do new development in 4.0 – so the question is only about this existing, mature app.
Please don’t give me a list of things I can do with 4.0 that I can’t do with 2.0. I already know them (or at least most of them). What I want to know is, if I don’t intend on using any of the new .Net 4.0 features in this app, should I just leave my app in 2.0, or upgrade it?
And let’s assume that my users can be guaranteed to have both versions installed, so that’s not an issue.
Perhaps a better question might be, are there any downsides to leaving it in 2.0, if I don’t need any of the new 4.0 features?
As others have commented, upgrading the framework isn’t really a problem if you don’t want to, at the moment, since the current versions of Visual Studio allow you to target a specific framework. What might cause issues in the future for you, is if you wish to use some DLLs the others have produced that use/are compiled against the higher framework versions.
Quick answer, dont’ upgrade if you don’t need any of the newer features, but if you are going to be using some new features in the future, then your app will probably need a full regresion test when you upgrade the framework (there are only a few edge-case breaking changes between 2.0 -> 3.0 -> 4.0 that most people won’t have ever hit)