Элемент <supportPortability>

Указывает, что приложение может ссылаться на одну и ту же сборку в двух различных реализациях платформы .NET Framework путем отключения поведения по умолчанию, в котором в целях переносимости приложений эти сборки трактуются как эквивалентные.

<supportPortability PKT="public_key_token" enabled="true|false"/>

Атрибуты и элементы

В следующих разделах описаны атрибуты, дочерние и родительские элементы.

Атрибуты

Атрибут

Описание

PKT

Обязательный атрибут.

Задает токен открытого ключа затрагиваемой сборки в виде строки.

enabled

Необязательный атрибут.

Указывает, включена ли поддержка переносимости между реализациями заданной сборки платформы .NET Framework.

Атрибут enabled

Значение

Описание

true

Включите поддержку переносимости между реализациями заданной сборки платформы .NET Framework. Это значение по умолчанию.

false

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

Дочерние элементы

Отсутствует.

Родительские элементы

Элемент

Описание

configuration

Корневой элемент в любом файле конфигурации, используемом средой CLR и приложениями платформы .NET Framework.

runtime

Содержит сведения о привязке сборок и сборке мусора.

assemblyBinding

Содержит сведения о перенаправлении версии сборки и о расположении сборок.

Заметки

Начиная с .NET Framework 4 поддержка автоматически предоставляется для приложений, которые может использовать любая из двух реализаций .NET Framework, например реализация .NET Framework или реализация .NET Framework для Silverlight. Две реализации определенной сборки .NET Framework рассматриваются как эквивалент связывателя сборок. В нескольких сценариях эта функция переносимости приложений вызывает проблемы. В этих сценариях элемент <supportPortability> может использоваться для отключения функции.

Одним таким сценарием является сборка, ссылающаяся как на реализацию платформы .NET Framework, так и на реализацию .NET Framework для Silverlight конкретной сборки, на которую имеется ссылка. Например, для конструктора XAML, написанного в Windows Presentation Foundation (WPF), может потребоваться реализация рабочего стола WPF, для пользовательского интерфейса конструктора, и подмножества WPF, поставляемого с реализацией Silverlight. По умолчанию отдельные ссылки вызывают ошибку компиляции, так как привязка сборки видит две эквивалентные сборки. Этот элемент отключает поведение по умолчанию и разрешает завершить компиляцию.

Важное примечаниеВажно

Чтобы компилятор передавал сведения в логику привязки сборки среды CLR, необходимо использовать параметр компилятора /appconfig для указания расположения файла app.config, содержащего этот элемент.

Пример

В следующем примере показан файл app.config, позволяющий приложению иметь ссылки на реализации .NET Framework и .NET Framework, для реализации Silverlight любой сборки .NET Framework, существующей в обеих реализациях. Для указания расположения этого файла app.config должен использоваться параметр компилятора /appconfig.

<configuration>
   <runtime>
      <assemblyBinding>
         <supportPortability PKT="7cec85d7bea7798e" enable="false"/>
         <supportPortability PKT="31bf3856ad364e35" enable="false"/>
      </assemblyBinding>
   </runtime>
</configuration>

См. также

Основные понятия

Общие сведения об унификации сборок платформы .NET Framework

Другие ресурсы

/appconfig (параметры компилятора C#)