Condividi tramite


Elemento <supportPortability>

Specifica che un'applicazione può fare riferimento allo stesso assembly in due implementazioni diverse di .NET Framework, disabilitando il comportamento predefinito che tratta gli assembly come equivalenti allo scopo della portabilità dell'applicazione.

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

Attributi ed elementi

Nelle sezioni seguenti vengono illustrati attributi, elementi figlio e padre.

Attributi

Attribute

Oggetto di descrizione

PKT

Attributo obbligatorio.

Specifica il token di chiave pubblica dell'assembly interessato, come una stringa.

enabled

Attributo facoltativo.

Specifica se deve essere abilitato il supporto per la portabilità tra implementazioni dell'assembly .NET Framework specificato.

Attributo enabled

Value

Oggetto di descrizione

true

Abilita il supporto per la portabilità tra implementazioni dell'assembly .NET Framework specificato. Questa è l'impostazione predefinita.

false

Disabilita il supporto per la portabilità tra implementazioni dell'assembly .NET Framework specificato. Consente all'applicazione di avere riferimenti a più implementazioni dell'assembly specificato.

Elementi figlio

Nessuno.

Elementi padre

Elemento

Oggetto di descrizione

configuration

Elemento radice in ciascun file di configurazione utilizzato in Common Language Runtime e nelle applicazioni .NET Framework.

runtime

Contiene le informazioni sull'associazione degli assembly e la Garbage Collection.

assemblyBinding

Contiene le informazioni sul reindirizzamento della versione degli assembly e i relativi percorsi.

Note

Iniziando con .NET Framework versione 4, il supporto viene fornito automaticamente per le applicazioni che possono utilizzare una delle due implementazioni di .NET Framework, ad esempio l'implementazione di .NET Framework o di .NET Framework per Silverlight. Le due implementazioni di un particolare assembly .NET Framework vengono considerate equivalenti dal gestore di associazione dell'assembly. In alcuni scenari, questa funzionalità di portabilità dell'applicazione crea problemi. In quegli scenari, l'elemento <supportPortability> può essere utilizzato per disabilitare la funzionalità.

Un tale scenario è un assembly che deve fare riferimento sia all'implementazione di .NET Framework sia all'implementazione di .NET Framework per Silverlight di un particolare assembly di riferimento. Ad esempio, una finestra di progettazione XAML scritta in Windows Presentation Foundation (WPF) potrebbe dovere fare riferimento sia all'implementazine di Desktop WPF, per l'interfaccia utente della finestra di progettazione che al sottoinsieme di WPF incluso nell'implementazione di Silverlight. Per impostazione predefinita, i riferimenti separati provocano un errore del compilatore, perché l'associazione di assembly vede i due assembly come equivalenti. Questo elemento disabilita il comportamento predefinito e consente alla compilazione di riuscire.

Nota importanteImportante

Affinché il compilatore passi le informazioni alla logica di associazione dell'assembly di Common Language Runtime, è necessario utilizzare l'opzione del compilatore /appconfig per specificare il percorso del file app.config che contiene questo elemento.

Esempio

Nell'esempio seguente viene abilitata un'applicazione ad avere riferimenti sia all'implementazione di .NET Framework sia all'implementazione di .NET Framework for Silverlight di qualsiasi assembly di .NET Framework presente in entrambe le implementazioni. L'opzione del compilatore /appconfig deve essere utilizzata per specificare il percorso di questo file app.config.

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

Vedere anche

Concetti

Cenni preliminari sull'unificazione degli assembly .NET Framework

Altre risorse

/appconfig (opzioni del compilatore C#)