Поделиться через


Настройка перенаправления связей сборок

Замечание

Эта статья связана с .NET Framework. Он не применяется к более новым реализациям .NET, включая .NET 6 и более поздние версии.

По умолчанию приложения используют набор сборок .NET Framework, которые поставляются с версией среды выполнения, используемой для компиляции приложения. Вы можете использовать атрибут appliesTo в элементе <assemblyBinding> в файле конфигурации приложения для перенаправления ссылок на привязку сборок на конкретную версию сборок .NET Framework. Этот необязательный атрибут использует номер версии .NET Framework, чтобы указать, к какой версии она применяется. Если атрибут appliesTo не указан, элемент <assemblyBinding> применяется ко всем версиям .NET Framework.

Атрибут appliesTo появился в .NET Framework версии 1.1; он игнорируется .NET Framework версии 1.0. Это означает, что все <assemblyBinding> элементы применяются при использовании .NET Framework версии 1.0, даже если задан атрибут 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. Наконец, введите сведения о перенаправлении привязки сборок для любого перенаправления сборок .NET Framework, который не использует appliesTo атрибут и поэтому применяется ко всем версиям .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 в реестре.

См. также