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


<supportPortability> Элемент

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

<configuration>
  <runtime>
    <assemblyBinding>
      <supportPortability>

Синтаксис

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

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

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

Attributes

Свойство Description
PKT Обязательный атрибут.

Указывает маркер открытого ключа затронутой сборки в виде строки.
enabled Необязательный атрибут.

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

Атрибут с поддержкой

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

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

Нет.

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

Элемент Description
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. По умолчанию отдельные ссылки вызывают ошибку компиляции, так как привязка сборки видит две эквивалентные сборки. Этот элемент отключает поведение по умолчанию и позволяет выполнить компиляцию успешно.

Это важно

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

Example

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

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

См. также