Upgrading Visual Studio 2008 to 2013 and .NET 3.5 to 4.5.1

Without knowing much (really anything) about your project, it is going to be very hard to give you a straight answer. However, I can say this. Microsoft has prided itself since day one on its backwards compatibility. Simply opening the project in VS 2013 will trigger the upgrade process for the actual SLN. This is usually quite painless. Once this is complete, you are still able to target .NET 3.5, so you don't have to make the jump from VS2008 -> VS2013 && NET35 -> NET451 at the same time.

The framework itself shouldn't present you with any serious issues, however any referenced 3rd party dlls can cause (sometimes serious) issues. They may not be maintained anymore, may have changed names, or simply do not exist. In this case you will need to find a new library to do what the old one did, which will require refactoring at best, significant rewrite at worst.

None of this takes into account the features ADDED to NET45 from NET35, such as the async/await keywords and many, many, many other features.

Since your question is very vague, its hard to give you a good answer other than just do it, the update to VS2013 should take very little time, and it will tell you if you are going to have issues even building. Once you do that, it should take no time at all to change your target framework to NET45 or NET451 and find out once again, if you can even compile. Without doing either of those, you cannot possibly estimate the level of work required. Then you still have to do all of your testing to see if something changed at runtime.


The problem is not upgrading from Visual Studio 2008 to 2013, because you can still run and compile .NET 3.5 applications in Visual Studio 2013 just fine. The real time consuming process is migrating from .NET 3.5 to 4.5.1 which can be short or long depending on how large is your application and what technology you use.

Usually, .NET 3.5 is very forward compatible.

Changing from one runtime to another (3.5 to 4.5) is simply a matter of changing a setting in your Project (Target Framework).