<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 per scopi di portabilità dell'applicazione.

<Configurazione>
  <Runtime>
    <assemblyBinding>
      <supportPortability>

Sintassi

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

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Attributo Descrizione
PKT Attributo obbligatorio.

Specifica il token di chiave pubblica dell'assembly interessato, come stringa.
Enabled Attributo facoltativo.

Specifica se è necessario abilitare il supporto per la portabilità tra implementazioni dell'assembly .NET Framework specificato.

Attributo enabled

Valore Descrizione
true Abilitare il supporto per la portabilità tra implementazioni dell'assembly .NET Framework specificato. Questo è il valore predefinito.
false Disabilitare il supporto per la portabilità tra implementazioni dell'assembly .NET Framework specificato. Ciò consente all'applicazione di avere riferimenti a più implementazioni dell'assembly specificato.

Elementi figlio

Nessuno.

Elementi padre

Elemento Descrizione
configuration Elemento radice in ciascun file di configurazione usato in Common Language Runtime e nelle applicazioni .NET Framework.
runtime Contiene informazioni sull'associazione degli assembly e sull'operazione di Garbage Collection.
assemblyBinding Contiene le informazioni sul reindirizzamento della versione degli assembly e i relativi percorsi.

Commenti

A partire da .NET Framework 4, il supporto viene fornito automaticamente per le applicazioni che possono usare una delle due implementazioni di .NET Framework, ad esempio l'implementazione di .NET Framework o .NET Framework per Silverlight. Le due implementazioni di un determinato assembly .NET Framework sono considerate equivalenti dal binding dell'assembly. In alcuni scenari questa funzionalità di portabilità dell'applicazione causa problemi. In questi scenari l'elemento <supportPortability> può essere usato per disabilitare la funzionalità.

Uno di questi scenari è un assembly che deve fare riferimento sia all'implementazione di .NET Framework che all'implementazione di .NET Framework per Silverlight di un assembly di riferimento specifico. Ad esempio, una finestra di progettazione XAML scritta in Windows Presentation Foundation (WPF) potrebbe dover fare riferimento all'implementazione di WPF Desktop, all'interfaccia utente della finestra di progettazione e al subset di WPF incluso nell'implementazione di Silverlight. Per impostazione predefinita, i riferimenti separati provocano un errore del compilatore, poiché l'associazione di assembly considera uguali i due assembly. Questo elemento disabilita il comportamento predefinito e consente alla compilazione di avere esito positivo.

Importante

Per consentire al compilatore di passare le informazioni alla logica di associazione dell'assembly di Common Language Runtime, è necessario usare l'opzione /appconfig del compilatore per specificare il percorso del file app.config che contiene questo elemento.

Esempio

L'esempio seguente consente a un'applicazione di avere riferimenti all'implementazione di .NET Framework e all'implementazione di .NET Framework per Silverlight di qualsiasi assembly .NET Framework presente in entrambe le implementazioni. L'opzione /appconfig del compilatore deve essere usata per specificare il percorso di questo file di app.config.

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

Vedi anche