Recently, I had to explain the impact of the .NET 3.5 Framework and Visual Studio 2008 upgrade for our business analysts and quality assurance teams. It was a little bit of a difficult sell, because our last upgrade, from .NET 1.1 to .NET 2.0 was a bit of an effort, so I needed to quell some fears of the functional folks, and also document the changes for the QA folks.
I thought I'd share, in case you need to make the same case at your place of work. It's pretty simple, but it might save you some time.
In order to understand the impact of this task, it is important to define the components of this Visual Studio.NET 2008 and the .NET 3.5 Framework.
C# Language – C# is the language of choice. It is a general-purpose programming language developed by Microsoft, targeting the .NET Framework.
C# Compiler – The C# compiler parses the C# language and analyzes, optimizes and translates it into Common Intermediate Language (CIL).
Common Intermediate Language (CIL) – Common Intermediate Language is a transitional language that is platform and processor independent, allowing it to run on any machine that has the .NET Runtime installed. All .NET language implementations (C#, VB.NET, Managed C++, etc.) are compiled to this intermediate language.
.NET Runtime – The .NET Runtime executes the program. It converts the CIL into platform/processor specific byte-code and subsequently into operations that the CPU can execute.
.NET Framework – The .NET Framework is a software component that can be installed on the Microsoft Windows operating system. It is a library of pre-coded solutions to common program requirements. Examples of these solutions are accessing files and folders and using the computer’s network connection to get information from a resource on the Internet.
Integrated Development Environment (IDE) - An IDE is a software application that provides facilities to developers for the process of software development. An IDE consists of a source code editor, a compiler, and a debugger. Visual Studio.NET 2008 is an IDE that specifically targets the .NET 2.0 Runtime, the .NET 3.5 Framework, and the C# 3.0 language.
Which of These Components Are Changing With This Migration?
The following table will help visualize what is changing as a result of this migration:
Prior to the Upgrade
After the Upgrade
Environment Component Applies To
C# 2.0 Compiler
C# 3.0 Compiler
Common Intermediate Language
.NET 2.0 CIL
.NET 2.0 Runtime
.NET 2.0, .NET 3.0
.NET 2.0, .NET 3.0, .NET 3.5
Integrated Development Environment
Hope this helps!