Cenni preliminari sull'unificazione degli assembly .NET Framework

.NET Framework è costituito da una versione di Common Language Runtime e da oltre venti assembly .NET Framework che costituiscono la libreria dei tipi. Questi assembly .NET Framework vengono gestiti dal runtime come una singola unità. La versione 1.0 di .NET Framework, ad esempio, è costituita dalla versione di runtime 1.0.3705 e da assembly .NET Framework versione 1.0.3300.0. Un'applicazione o un componente che supporta una versione specifica di .NET Framework utilizza la versione fornita del runtime e la versione fornita degli assembly .NET Framework.

Per impostazione predefinita, nel runtime vengono caricati solo gli assembly .NET Framework appartenenti alla versione di runtime caricata in un processo. Quando viene avviata un'applicazione, tutti i riferimenti ai tipi nel codice eseguito dal runtime vengono indirizzati agli assembly .NET Framework con lo stesso numero di versione del runtime caricato in un processo. Questa unificazione degli assembly .NET Framework impedisce il caricamento di assembly di versioni diverse di .NET Framework, a meno che al runtime non vengano fornite specifiche istruzioni.

Unificazione degli assembly e componenti

La versione del runtime da utilizzare viene determinata dall'applicazione. Il processo di unificazione comprende tutti i componenti utilizzabili da un'applicazione, che possono essere reindirizzati in modo da essere eseguiti con una specifica versione del runtime. I componenti compilati con una versione del runtime possono quindi essere reindirizzati in modo da utilizzare un'altra versione.

Nell'applicazione MyApp illustrata nella figura riportata di seguito vengono utilizzati due componenti, Comp A e Comp B. MyApp e Comp A sono stati generati con la versione di runtime 1.0 e contengono quindi riferimenti statici a tale versione. Il componente Comp B, che contiene un riferimento statico a un assembly .NET Framework fornito con la versione di runtime 1.1, viene reindirizzato a causa dell'unificazione in modo da essere eseguito con l'assembly .NET Framework fornito con la versione di runtime 1.0.

Reindirizzamento dell'associazione di assembly mediante l'unificazione degli assembly

Unificazione

Questo comportamento predefinito può essere sottoposto a override nelle applicazioni specificando, nel file di configurazione dell'applicazione, informazioni per il reindirizzamento dell'associazione per qualsiasi assembly. Gli override consentono di reindirizzare il runtime in modo da utilizzare una specifica versione di un assembly .NET Framework senza influire sugli altri assembly .NET Framework caricati. Per ulteriori informazioni, vedere Reindirizzamento delle versioni di assembly.

Nota

Gli assembly .NET Framework versione 1.0 non vengono unificati. Per impostare il runtime affinché venga utilizzato un assembly .NET Framework diverso dalla versione 1.0 è quindi necessario creare un file di configurazione contenente l'attributo appliesTo nell'elemento <assemblyBinding>. Per ulteriori informazioni sul reindirizzamento degli assembly .NET Framework versione 1.0, vedereScelta di una versione di .NET Framework.

Vedere anche

Concetti

Determinazione della versione del runtime da caricare
Reindirizzamento delle versioni di assembly

Altre risorse

Nozioni fondamentali sull'esecuzione affiancata di diverse versioni