Elemento <supportPortability>
Especifica que um aplicativo pode fazer referência ao mesmo assembly em duas implementações diferentes do .NET Framework, desabilitando o comportamento padrão que trata os assemblies como equivalentes para fins de portabilidade do aplicativo.
<configuração>
<runtime>
<assemblyBinding>
<supportPortability>
Syntax
<supportPortability PKT="public_key_token" enabled="true|false"/>
Atributos e elementos
As seções a seguir descrevem atributos, elementos filho e elementos pai.
Atributos
Atributo | Descrição |
---|---|
PKT | Atributo obrigatório. Especifica o token de chave pública do assembly afetado, como uma cadeia de caracteres. |
Habilitado | Atributo opcional. Especifica se o suporte para portabilidade entre implementações do assembly do .NET Framework especificado deve ser habilitado. |
Atributo habilitado
Valor | Descrição |
---|---|
true | Habilitar o suporte para portabilidade entre implementações do assembly do .NET Framework especificado. Esse é o padrão. |
false | Desabilitar o suporte para portabilidade entre implementações do assembly do .NET Framework especificado. Isso permite que o aplicativo tenha referências a várias implementações do assembly especificado. |
Elementos filho
Nenhum.
Elementos pai
Elemento | Descrição |
---|---|
configuration |
O elemento raiz em cada arquivo de configuração usado pelos aplicativos do Common Language Runtime e .NET Framework. |
runtime |
Contém informações sobre associação do assembly e coleta de lixo. |
assemblyBinding |
Contém informações sobre o redirecionamento de versão e os locais dos assemblies. |
Comentários
A partir do .NET Framework 4, o suporte é fornecido automaticamente para aplicativos que podem usar uma das duas implementações do .NET Framework, por exemplo, a implementação de .NET Framework ou o .NET Framework para implementação do Silverlight. As duas implementações de um assembly do .NET Framework específico são vistas como equivalentes pelo associador de assembly. Em alguns cenários, esse recurso de portabilidade do aplicativo causa problemas. Nesses cenários, o elemento <supportPortability>
pode ser usado para desabilitar o recurso.
Um desses cenários é um assembly que precisa referenciar a implementação do .NET Framework e a implementação do .NET Framework para Silverlight de um assembly de referência específico. Por exemplo, um designer XAML escrito no Windows Presentation Foundation (WPF) pode precisar fazer referência à implementação da área de trabalho do WPF, para a interface do usuário do designer e ao subconjunto do WPF incluído na implementação do Silverlight. Por padrão, as referências separadas causam um erro do compilador, pois a associação de assembly considera os dois assemblies equivalentes. Esse elemento desabilita o comportamento padrão e permite que a compilação tenha êxito.
Importante
Para que o compilador passe as informações para a lógica de associação de assembly do Common Language Runtime, você deverá usar a opção do compilador /appconfig
para especificar o local do arquivo app.config que contém esse elemento.
Exemplo
O exemplo a seguir habilita um aplicativo a referenciar as implementações do .NET Framework e do .NET Framework para Silverlight de qualquer assembly do .NET Framework que exista em ambas as implementações. A opção do compilador /appconfig
deve ser usada para especificar o local desse arquivo app.config.
<configuration>
<runtime>
<assemblyBinding>
<supportPortability PKT="7cec85d7bea7798e" enable="false"/>
<supportPortability PKT="31bf3856ad364e35" enable="false"/>
</assemblyBinding>
</runtime>
</configuration>