Partilhar via


<supportPortability Element (Elemento supportPortability> )

Especifica que uma aplicação pode referenciar a mesma assemblagem em duas implementações diferentes do .NET Framework, ao desativar o comportamento predefinido que trata as assemblagens como equivalente para fins de portabilidade de aplicações.

<configuração>
  <runtime>
    <assemblyBinding>
      <supportPortability>

Syntax

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

Atributos e Elementos

As secções seguintes descrevem atributos, elementos subordinados e elementos principais.

Atributos

Atributo Descrição
PKT Atributo obrigatório.

Especifica o token de chave pública da assemblagem afetada, como uma cadeia.
ativado Atributo opcional.

Especifica se o suporte para portabilidade entre implementações da assemblagem de .NET Framework especificada deve ser ativado.

Atributo ativado

Valor Descrição
true Ative o suporte para portabilidade entre implementações da assemblagem de .NET Framework especificada. Esta é a predefinição.
false Desative o suporte para portabilidade entre implementações da assemblagem de .NET Framework especificada. Isto permite que a aplicação tenha referências a múltiplas implementações da assemblagem especificada.

Elementos Subordinados

Nenhum.

Elementos Principais

Elemento Descrição
configuration O elemento raiz em cada ficheiro de configuração utilizado pelo runtime de linguagem comum e .NET Framework aplicações.
runtime Contém informações sobre o enlace de montagem e a libertação da memória.
assemblyBinding Contém informações sobre o redirecionamento da versão de assemblagem e as localizações das assemblagens.

Observações

A partir do .NET Framework 4, o suporte é fornecido automaticamente para aplicações que podem utilizar qualquer uma das duas implementações do .NET Framework, por exemplo, a implementação .NET Framework ou o .NET Framework para a implementação do Silverlight. As duas implementações de uma determinada assemblagem .NET Framework são vistas como equivalentes pelo enlace de assemblagem. Em alguns cenários, esta funcionalidade de portabilidade da aplicação causa problemas. Nesses cenários, o <supportPortability> elemento pode ser utilizado para desativar a funcionalidade.

Um desses cenários é uma assemblagem que tem de referenciar a implementação .NET Framework e o .NET Framework para a implementação do Silverlight de uma assemblagem de referência específica. Por exemplo, um estruturador XAML escrito no Windows Presentation Foundation (WPF) poderá ter de referenciar a implementação do WPF Desktop, a interface de utilizador do estruturador e o subconjunto do WPF incluído na implementação do Silverlight. Por predefinição, as referências separadas causam um erro de compilador, uma vez que o enlace de assemblagem vê as duas assemblagens como equivalentes. Este elemento desativa o comportamento predefinido e permite que a compilação seja bem-sucedida.

Importante

Para que o compilador transmita as informações para a lógica de enlace de assemblagem do runtime de linguagem comum, tem de utilizar a opção /appconfig de compilador para especificar a localização do ficheiro app.config que contém este elemento.

Exemplo

O exemplo seguinte permite que uma aplicação tenha referências à implementação .NET Framework e ao .NET Framework para a implementação do Silverlight de qualquer assemblagem .NET Framework que exista em ambas as implementações. A /appconfig opção do compilador tem de ser utilizada para especificar a localização deste ficheiro app.config.

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

Ver também