在 Visual Studio 2008 之前,编写面向不同版本的 Microsoft .NET Framework 的应用程序需要安装不同版本的 Visual Studio 开发环境。每个版本的 Visual Studio 都提供了不同的开发人员体验,并会占用大量磁盘空间。而且,每个版本的 Visual Studio 的项目文件格式也各不相同。结果就是当您开发面向不同版本的 .NET Framework 的项目组件时,您会得到多个版本的项目文件或解决方案。
Visual Studio 2008 是第一个在单个 IDE 中完全支持多重目标的版本,允许开发人员使用一个版本的 Visual Studio 编写面向不同版本的 .NET Framework(2.0、3.0 和 3.5)的应用程序。结果如何?开发人员可获得一致的使用体验,同时减少磁盘空间需求。
Visual Studio 2008 能够实现多重目标是因为每个可用的框架都使用了相同的基础 CLR 2.0。而且,每个版本的框架都构建在 .NET Framework 2.0 的基础上,并通过使用被引用程序集来提供其他功能。最终,所有框架都使用 .NET Framework 3.5 命令行 Visual Basic 编译器 (vbc.exe)。
本文将讨论 3.5 和 4 编译器,即分别包含在 .NET Framework 3.5 和 4 中的编译器。3.5 编译器是随 Visual Studio 2008 和 Visual Basic 9 提供的版本,而 4 编译器是随 Visual Studio 2010 和 Visual Basic 10 提供的版本。
让我们看一下当前多重目标在 Visual Studio 中的工作原理,并说明应该如何在项目中实现多重目标。
Visual Studio 中的多重目标
在 Visual Studio 2008 中,更改所需的目标框架很简单,只需从项目属性中的下拉列表选择目标即可,如图 1 所示。这可以添加或删除每个框架版本所需的特定引用,并轻松地更改框架。
图 1 在 Visual Studio 2008 中更改所需的目标框架