<Элемент supportPortability>
Указывает, что приложение может ссылаться на ту же сборку в двух различных реализациях .NET Framework, отключая поведение по умолчанию, которое рассматривает сборки как эквивалент для переносимости приложения.
<Конфигурации>
<Среды выполнения>
<assemblyBinding>
<supportPortability>
Синтаксис
<supportPortability PKT="public_key_token" enabled="true|false"/>
Атрибуты и элементы
В следующих разделах описаны атрибуты, дочерние и родительские элементы.
Атрибуты
Атрибут | Описание |
---|---|
PKT | Обязательный атрибут. Указывает маркер открытого ключа затронутой сборки в виде строки. |
Включено | Необязательный атрибут. Указывает, должна ли быть включена поддержка переносимости между реализациями указанной сборки платформа .NET Framework. |
Атрибут enabled
Значение | Описание |
---|---|
Да | Включите поддержку переносимости между реализациями указанной сборки платформа .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, содержащего этот элемент.
Пример
В следующем примере приложение может иметь ссылки как на реализацию платформа .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>