Mailbag: What version of the .NET Framework can be used with what version of Visual Studio?

Question:

I have the .NET Framework 2.0 installed. Can I make Visual Studio .NET 2002 work with it instead of with the .NET Framework 1.1? What about Visual Studio .NET 2003?

Answer:

Versions 1.0, 1.1 and 2.0 of the .NET Framework each shipped with a specific version of Visual Studio, and it is installed as a prerequisite during Visual Studio setup.

A managed application is capable of running on the version of the .NET Framework that it was originally written against. In addition, in most cases, it will run correctly even if only one of the future versions of the .NET Framework is installed on the system.

Visual Studio is somewhat of a special case though, because it is a development tool. Each version of Visual Studio listed above will only work correctly with the exact version of the .NET Framework that shipped with it as a prerequisite.

In some cases, you can use Visual Studio to build managed applications that will run against earlier versions of the .NET Framework. The MSBee tool (which can be downloaded here) is a plug-in for MSBuild that will allow you to build applications in Visual Studio 2005 that can run on the .NET Framework 1.1, assuming that you do not use any features that are new in the .NET Framework 2.0 and don't exist in .NET 1.1. Also, there is a configurable setting in Visual Studio .NET 2003 that lets you add settings to your application config file to allow it to run on the .NET Framework 1.0.