Visual Studio 多目标概述

在此版本的 Visual Studio 中,您可以指定应用程序所需的 .NET Framework 版本。因此,如果要使用此版本的 Visual Studio 继续开发使用早期版本开始的项目,则无需更改框架目标。您也可以创建包含面向不同版本框架的项目的解决方案。框架目标也有助于确保应用程序仅使用在指定的框架版本中可用的功能。

提示提示

您还可以针对不同平台定位应用程序。有关更多信息,请参阅MSBuild 多定向概述

框架目标功能

框架目标包含下列功能:

  • 当您打开面向 .NET Framework 较早版本的项目时,Visual Studio 可以自动将项目升级或者保持目标不变。

  • 创建项目时,可以指定要面向的 .NET Framework 版本。

  • 您可更改被现有项目视为目标的 .NET Framework 的版本。

  • 可以在同一解决方案的各项目中针对不同的.NET Framework 版本。

  • 当您更改项目所面向的 .NET Framework 版本时,Visual Studio 会对引用和配置文件进行任何所需的更改。

当处理针对 .NET Framework 早期版本的项目时,Visual Studio 会动态地在开发环境中进行如下更改:

  • 筛选“新建项目”对话框、“添加新项”对话框、“添加新引用”对话框和“添加服务引用”对话框中的项,以便忽略在目标版本中不可用的选项。

  • 在“工具箱”中筛选自定义控件,以移除在目标版本中不可用的控件,并在多个控件可用时仅显示最新版本。

  • 它会对 IntelliSense 进行筛选,以忽略在目标版本中不可用的语言功能。

  • 它筛选“属性”窗口中的属性,以忽略在目标版本中不可用的属性。

  • 筛选菜单选项以忽略在目标版本中不可用的选项。

  • 对于生成,可以使用适用于目标版本的编译器版本和编译器选项。

说明说明

框架目标不保证您的应用程序将正常运行。您必须对应用程序进行测试,以确保其能够针对目标版本运行。您无法面向版本早于 .NET Framework 2.0 的 Framework。

选择目标框架版本

当您创建项目时,请在“新建项目”对话框中选择目标 .NET Framework 版本。根据选定内容对可用项目模板列表进行筛选。对于现有项目,可以在项目属性对话框中更改 .NET Framework 的目标版本。有关详细信息,请参阅 如何:面向 .NET Framework 的某个版本

说明说明

在 Visual Studio 学习版中,您不能通过“新建项目”对话框设置目标框架。

解析系统和用户程序集引用

要以 .NET Framework 版本为目标,你必须先安装相应的程序集引用。.NET Framework 2.0 版、3.0 版和 3.5 版的程序集引用包含在 .NET Framework 3.5 SP1 中,可在 Microsoft Download Center, Microsoft Visual Studio(Microsoft 下载中心,Microsoft Visual Studio)网站进行下载。.NET Framework 3.5 客户端配置文件、.NET Framework 4、.NET Framework 4 客户端配置文件和 Silverlight 的程序集引用也可在 Visual Studio Downloads(Visual Studio 下载)网站进行下载。

说明说明

.NET Framework 客户端配置文件是 .NET Framework 的子集,它提供一组有限的库和功能。有关客户端配置文件的更多信息,请参见 .NET Framework Client Profile

“添加引用”对话框禁用不适合目标 .NET Framework 版本的系统程序集,以便它们无法因不小心而添加到项目中。(系统程序集是包括在 .NET Framework 版本内的 .dll 文件。)若引用所属的框架版本低于目标版本,则引用无法解决,同时,基于此引用的控件无法添加。如果要启用此类引用,请将项目的 .NET Framework 目标重新设置为包括此引用。有关更多信息,请参阅 项目设计器介绍

有关程序集引用的更多信息,请参见 在设计时解析程序集

启用 LINQ

当您面向 .NET Framework 3.5 或更高版本时,会自动添加对 System.Core 的引用和 System.Linq 的项目级导入(仅 Visual Basic 中)。如果要使用 LINQ 功能,还必须打开 Option Infer(仅 Visual Basic 中)。如果将目标更改为早期的 .NET Framework 版本,将自动移除相关引用和导入。有关详细信息,请参阅 如何:创建 LINQ 项目

请参见

其他资源

MSBuild 多定向概述

.NET Framework Targeting for Web Projects

Platform compatibility and system requirements