注释
本文特定于 .NET Framework。 它不适用于 .NET 的较新版本实现,包括 .NET 6 及更高版本。
默认情况下,应用程序使用随用于编译应用程序的运行时版本一起提供的 .NET Framework 程序集集。 可以在应用程序配置文件中的 >appliesTo 属性,将程序集绑定引用重定向到特定版本的 .NET Framework 程序集。 此可选属性使用 .NET Framework 版本号来指示它适用的版本。 如果未指定 appliesTo 属性,<assemblyBinding> 元素适用于 .NET Framework 的所有版本。
.NET Framework 版本 1.1 中引入了 appliesTo 属性;.NET Framework 版本 1.0 将忽略它。 这意味着在使用 .NET Framework 版本 1.0 时,将应用所有 <assemblyBinding> 元素,即使指定了 appliesTo 属性。
注释
使用 appliesTo 特性来限制运行时特定版本的程序集绑定重定向。
例如,若要重定向 .NET Framework 版本 1.0 程序集的程序集绑定,请在应用程序配置文件中包含以下 XML 代码。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v1.0.3705">
<dependentAssembly>
* assembly information goes here *
</dependentAssembly>
</assemblyBinding>
</runtime>
<assemblyBinding> 元素对顺序敏感。 应首先输入任何 .NET Framework 版本 1.0 程序集的程序集绑定重定向信息,然后输入任何 .NET Framework 版本 1.1 程序集的程序集绑定重定向信息。 最后,输入任何因不使用 appliesTo 特性而适用于所有版本的 .NET Framework 的.NET Framework 程序集重定向的程序集绑定重定向信息。 如果重定向发生冲突,则使用配置文件中的第一个匹配重定向语句。
例如,若要重定向对 .NET Framework 版本 1.0 程序集的引用,以及对 .NET Framework 版本 1.1 程序集的另一个引用,请使用以下伪代码中显示的模式。
<assemblyBinding xmlns="..." appliesTo="v1.0.3705">
<!-- .NET Framework version 1.0 redirects here. -->
</assemblyBinding>
<assemblyBinding xmlns="..." appliesTo="v1.1.4322">
<!-- .NET Framework version 1.1 redirects here. -->
</assemblyBinding>
<assemblyBinding xmlns="...">
<!-- Redirects meant for all versions of the .NET Framework. -->
</assemblyBinding>
调试配置文件错误
运行时在创建应用程序域时分析配置文件一次,并将代码加载到该应用程序域中。 公共语言运行时通过忽略条目来处理配置文件中的错误。 如果运行时包含格式不正确的 XML,则忽略整个配置文件。 对于无效的 XML,仅忽略无效部分。
可以通过确定是否正在发生程序集绑定重定向来确定是否正在使用某个配置文件。 使用 程序集绑定日志查看器(Fuslogvw.exe) 查看正在加载哪些程序集。 若要查看所有程序集绑定,必须在注册表中为 ForceLog 设置条目。