What is multi-targeting?
Starting with Visual Studio 2008 developers will be able to target multiple versions of the .NET Framework using the same version of Visual studio. Developers will be able to start taking advantage of the new features Visual Studio provides without having to always upgrade their existing projects and deployed applications to use a new version of the .NET Framework library.
Isn't this currently possible to target v1.1 using Visual Studio 2005?
Currently, applications can be built to target the 1.1 Framework with Visual Studio 2005 using MSBee; however, the setup and compilation can be tricky at best. In Visual Studio 2008, Microsoft looks to bring the process of targeting version 2.0 and above of the .NET Framework directly into the IDE
What kind of support does Visual Studio 2008 provide?
- Creating new projects: Automatically filter and show only those project templates that are available for the currently selected version when creating a new project.
- Adding references: The assembly reference picker dialog will automatically gray out assemblies that are not available for the currently selected version.
- Config files: The IDE will use the schema of the currently selected version for the configuration files.
- Controls: Only those controls that are available for the currently selected version will be shown in the toolbox.
- Compiler settings: Compiler settings are automatically set as per the currently selected version.
Can an existing project be upgraded?
Yes. The targeted version can be changed from the project's properties page. Once the Target Framework is changed, Visual Studio will update the project with the new assemblies, controls, and compiler settings.
Are all versions supported?
Unfortunately the VS 2008 multi-targeting support only works with .NET 2.0, .NET 3.0 and .NET 3.5 - and not against older versions of the framework. The reason for this is that there were significant CLR engine changes between .NET 1.x and 2.x that make debugging very difficult to support. In the end the costing of the work to support that was so large and impacted so many parts of Visual Studio that we weren't able to add 1.1 support in this release.
What about future versions of Visual Studio and .NET framework? Will multi-targeting be supported?
Yes. Future versions will follow the same model.
What about older projects that are opened in Visual Studio 2008?
The user will be presented with an option to run a conversion utility which will allow the user to upgrade to a newer version. (Pretty similar to what happens in Visual Studio 2005)
Can I use Visual Studio 2008 and Visual Studio 2005 interchangeably for a .NET 2.0 project?
Visual Studio 2008 makes changes to the solution file that prevents the project from being loaded in Visual Studio 2005. Other than the changed to the solution file, no changes are made to any other files.
Will multi-targeting work with ASP.NET and AJAX?
Will ASP.NET 2.0 projects developed in Visual Studio 2008? run within existing ASP.NET 2.0 app pools ?
What versions of Visual Studio 2008 will support multi-targeting?
Multi-targeting will be supported with both Visual Studio as well as Visual Web Developer Express and the other Express products.