Condividi tramite


Configurazione del reindirizzamento dell'associazione di assembly

Annotazioni

Questo articolo è specifico di .NET Framework. Non si applica alle implementazioni più recenti di .NET, incluse .NET 6 e versioni successive.

Per impostazione predefinita, le applicazioni usano il set di assembly .NET Framework forniti con la versione di runtime usata per compilare l'applicazione. È possibile usare l'attributo nell'elemento appliesTo<assemblyBinding> in un file di configurazione dell'applicazione per reindirizzare i riferimenti all'associazione di assembly a una versione specifica degli assembly .NET Framework. Questo attributo facoltativo usa un numero di versione di .NET Framework per indicare la versione a cui si applica. Se non viene specificato alcun appliesTo attributo, l'elemento <assemblyBinding> si applica a tutte le versioni di .NET Framework.

L'attributo appliesTo è stato introdotto in .NET Framework versione 1.1 e viene ignorato da .NET Framework versione 1.0. Ciò significa che tutti gli <assemblyBinding> elementi vengono applicati quando si usa .NET Framework versione 1.0, anche se viene specificato un appliesTo attributo.

Annotazioni

Usare l'attributo appliesTo per limitare il reindirizzamento dell'associazione di assembly a una versione specifica del runtime.

Ad esempio, per reindirizzare l'associazione di assembly per un assembly .NET Framework versione 1.0, è necessario includere il codice XML seguente nel file di configurazione dell'applicazione.

<runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v1.0.3705">
            <dependentAssembly>
               * assembly information goes here *
            </dependentAssembly>
       </assemblyBinding>
</runtime>

Gli elementi sono sensibili all'ordine <assemblyBinding> . Bisogna prima inserire le informazioni di reindirizzamento dell'associazione di assembly per qualsiasi assembly .NET Framework versione 1.0, poi le informazioni di reindirizzamento dell'associazione di assembly per qualsiasi assembly .NET Framework versione 1.1. Alla fine, inserire le informazioni di reindirizzamento dell'associazione di assembly per qualsiasi reindirizzamento di assembly del .NET Framework che non utilizza l'attributo appliesTo e si applica quindi a tutte le versioni del .NET Framework. In caso di conflitto nel reindirizzamento, viene usata la prima istruzione di reindirizzamento corrispondente nel file di configurazione.

Ad esempio, per reindirizzare un riferimento a un assembly .NET Framework versione 1.0 e a un altro riferimento a un assembly .NET Framework versione 1.1, usare il modello illustrato nello pseudocodice seguente.

<assemblyBinding xmlns="..." appliesTo="v1.0.3705">
  <!-- .NET Framework version 1.0 redirects here. -->
</assemblyBinding>

<assemblyBinding xmlns="..." appliesTo="v1.1.4322">
  <!-- .NET Framework version 1.1 redirects here. -->
</assemblyBinding>

<assemblyBinding xmlns="...">
  <!-- Redirects meant for all versions of the .NET Framework. -->
</assemblyBinding>

Risoluzione degli errori del file di configurazione

Il runtime analizza i file di configurazione una volta quando viene creato un dominio applicazione e carica il codice in tale dominio applicazione. Il Common Language Runtime gestisce gli errori in un file di configurazione ignorando l'elemento. Il runtime ignora l'intero file di configurazione se contiene codice XML in formato non valido. Per il codice XML non valido, vengono ignorate solo le sezioni non valide.

È possibile stabilire se viene utilizzato un file di configurazione verificando se si stanno effettuando reindirizzamenti di associazioni di assembly. Usare Assembly Binding Log Viewer (Fuslogvw.exe) per vedere quali assembly vengono caricati. Per visualizzare tutti i binding di assembly, è necessario impostare una voce per ForceLog nel Registro di sistema.

Vedere anche