.NET Framework 程序集统一概述

.NET Framework 由公共语言运行时的一个版本和大约二十四个 .NET Framework 程序集(它们组成类型库)构成。 运行时将 .NET Framework 程序集视为单个单元。 例如,.NET Framework 的 1.0 版由运行时 1.0.3705 版和 .NET Framework 程序集 1.0.3300.0 版构成。 一个应用程序或组件如果支持某一特定版本的 .NET Framework,则能够使用运行时的推出版本 (shipping version) 和 .NET Framework 程序集的推出版本。

默认情况下,运行时只加载那些属于在进程中加载的运行时版本的 .NET Framework 程序集。 在启动应用程序时,在运行时所运行的代码中,所有对类型的引用都会被定向到其版本号与进程中加载的运行时版本号相同的 .NET Framework 程序集。 .NET Framework 程序集的这种统一,可以防止运行时在未得到有关具体指示的情况下从其他版本的 .NET Framework 加载程序集。

程序集统一和组件

应用程序确定了它所使用的运行时版本。 统一过程涉及应用程序可能使用的所有组件。 应用程序可以重定向它用以与运行时的特定版本一起运行的组件。 使用运行时的一个版本编译的组件,可以被重定向为使用另一版本。

在下图中,应用程序 MyApp 使用两个组件:Comp A 和 Comp B。 MyApp 和 Comp A 由运行时 1.0 版生成,因此,它们包含对运行时 1.0 版的静态引用。 组件 Comp B 包含对随运行时 1.1 版提供的 .NET Framework 程序集的静态引用,但由于统一,Comp B 被重定向为使用随运行时 1.0 版提供的 .NET Framework 程序集运行。

程序集统一能够重定向程序集绑定

统一

对于任一程序集,通过在应用程序配置文件中提供有关重定向绑定的信息,应用程序可以重写这一默认行为。 重写能够将运行时重定向为使用 .NET Framework 程序集的特定版本,而不影响其他 .NET Framework 程序集的加载方式。 有关更多信息,请参见程序集绑定重定向

注意注意

1.0 版的 .NET Framework 程序集不是统一的。如果要指示运行时使用 1.0 版外的 .NET Framework 程序集,唯一的方法是创建在 <assemblyBinding> 元素中包含 appliesTo 特性的配置文件。有关重定向 1.0 版 .NET Framework 程序集的更多信息,请参见确定目标 .NET Framework 版本

请参见

概念

确定要加载的运行时版本

程序集绑定重定向

并行执行