使用 .NET Framework 的多个版本

更新:2007 年 11 月

在默认情况下,用 Visual Studio .NET 2003 或更高版本创建的托管应用程序需要 1.1 版的公共语言运行库才能运行。在有些情况下,您可能希望应用程序面向早期版本的运行库。例如,如果所有的客户都已经安装了 1.0 版的运行库,而部署 1.1 版又不可行,您就可能希望选择 1.0 版。

说明:

尽管可以从 Visual Studio .NET 2003 选择 1.0 版的公共语言运行库,但我们极力建议您改为在 Visual Studio .NET 2002 中这样做。您可以在同一台计算机上并行安装和运行这两个版本。有关更多信息,请参见安装和设置

警告:

如果应用程序所引用的 .NET Framework 类或成员在早期版本的运行库中没有,则选择使用早期版本的运行库可能会导致应用程序出现故障。您应当针对所有指定版本全面测试应用程序,以确保它正确运行。有关 1.0 和 1.1 版之间的区别的更多信息,请参见 .NET Framework 1.1 版中的新增功能

Visual Studio .NET 2003 项目使用“支持的运行库”属性指定所需的公共语言运行库版本。此属性只能用于 Windows 应用程序项目、Windows 服务项目、控制台应用程序项目和 ASP.NET Web 应用程序项目。

“支持的运行库”属性可在“项目属性页”对话框中设置。

说明:

当指定 1.0 版时,app.config 文件将被修改,其中一部分指定应用程序可以在 1.0 版的运行库上运行。该应用程序实际上使用 1.1 版的编译器生成,而且应用程序的其他所有方面均是 1.1 版。

如果您为多个运行库版本指定支持,则当在装有多个运行库版本的计算机上运行应用程序时,将加载列在 .config 文件中的第一个可用版本。

Windows 应用程序项目、Windows 服务项目或控制台应用程序项目

对于这些项目类型,如果选择运行库,将导致项目系统更新项目中的 app.config 文件或者创建 app.config 文件(如果不存在该文件的话)。在运行时,app.config 文件的名称必须是 文件名.ext.config,该文件必须与可执行文件位于相同的目录中。项目系统将从 app.config 文件创建 文件名.ext.config 文件,并将它放在 bin\目标 目录中。

ASP.NET Web 应用程序项目

对于 ASP.NET Web 应用程序项目,如果修改此属性,项目系统就会通过在 <dependentAssembly> 节中添加程序集绑定(<bindingRedirect> 和 <assemblyIdentity>)标记来更新项目中的 web.config 文件。用 Visual Studio 创建的 ASP.NET Web 应用程序中的网页预编译成依赖与编辑器关联的运行库的 .dll。

web.config 文件保留在项目目录中并且没有重命名。

有关更多信息,请参见 ASP.NET 并行 (Side-by-Side) 概述

请参见

概念

ASP.NET 并行 (Side-by-Side) 概述

其他资源

并行 (Side-by-Side) 执行