Migration to .NET 3.5 Framework
In this article, we discuss issues concerning migrating .NET codebase to a .NET 3.5 framework (from .NET 2.0), as far as development and production environment is concerned. It contains in fact excerpts from the most important articles, arranged in as logical as possibal way.
General Overview
Using NDepend, you can see a summary statistics for .NET 3.5 changes. More in detail, you can read about these changes at codebetter.com.. Or a simple list can be found at the blog of Scott Hanselamn. If you want to detect framework version, read this msdn tip. You can also check wikipedia.
Green bits and red bits
What is really new
- Official MS Description
- Jack Gudenkauf’s article from one of the author of the changes.
- Independant article from Kiran Kumar (or this one from dot4pro) will tell you.
- Top 10 things are described here by Daniel Moth again.
- Video containing a complete list of 3.5 assemblies is here, again by Daniel Moth.
Possible Problems
In this Stackoverflow discussion, you will find:
- If you start using types in SP1 even in what you think is 2.0, it will fail on a “proper” 2.0 client.
- There are (in the service pack) changes to things deep in the core – the number of pool threads, for example (or is it the stack size of pool threads… something in that area) that can bite you if you are unlucky.
Breaking Changes
- Read more about ThreadPool here (Michael C. Kennedy).
- ASP.NET on IIS7
- C# 3.0
ASP.NET
Converting the website to 3.5 mostly affects the web.config.
- Some references are added to a few default 3.5 assemblies, such as System.Core.dll.
- Changes regarding AJAX: new version of System.Web.Extensions
- And it will add the IIS 7 sections (which is all ignored if the site is published to an IIS6 box). See more at Stackoverflow. Or read about web.config files by 4guysfromrolla.
How to set an IIS Application or AppPool to use ASP.NET 3.5 rather than 2.0, is described by Scott Hanselman. Another article is here by Vijayshinva Karnure.
NetFX 3.5 SP1
What is new is described at msdn. As you can find at the download page, Microsoft .NET Framework 3.5 Service Pack 1 is a full cumulative update that contains many new features building incrementally upon .NET Framework 2.0, 3.0, 3.5, and includes cumulative servicing updates to the .NET Framework 2.0 and .NET Framework 3.0 subcomponents. It means, no breaking changes. The same can be found here: The updates include non-breaking changes, new API elements, and additional functionality for the technologies that were included in the .NET Framework 3.5.
NetFX 4.0
- Breaking changes in String class