Informazioni sugli assembly side-by-side
Un assembly side-by-side di Windows è descritto dai manifesti. Un assembly side-by-side contiene una raccolta di risorse, ovvero un gruppo di DLL, classi Windows, server COM, librerie dei tipi o interfacce, che vengono sempre fornite alle applicazioni insieme. Queste informazioni sono descritte nel manifesto dell'assembly.
In genere, un assembly side-by-side è una singola DLL. Ad esempio, l'assembly Microsoft COMCTL32 è una singola DLL con un manifesto, mentre l'assembly di runtime del sistema di sviluppo Microsoft Visual C++ contiene più file. I manifesti contengono metadati che descrivono assembly side-by-side e dipendenze di assembly side-by-side.
Gli assembly side-by-side vengono usati dal sistema operativo come unità fondamentali di denominazione, associazione, controllo delle versioni, distribuzione e configurazione. Ogni assembly affiancato ha un'identità univoca. Uno degli attributi dell'identità dell'assembly è la versione. Per altre informazioni, vedere Versioni assembly.
A partire da Windows XP, più versioni di assembly side-by-side possono essere usate contemporaneamente dalle applicazioni in esecuzione. I manifesti e il numero di versione dell'assembly vengono usati dal caricatore per determinare l'associazione corretta delle versioni dell'assembly alle applicazioni. Gli assembly e i manifesti side-by-side funzionano con le applicazioni e il gestore affiancato, come illustrato nella figura seguente.
Nell'esempio precedente, sia Comctl32.DLL versione 6.0 che Comctl32.DLL versione 5.0 si trovano nella cache degli assembly affiancati e disponibili per le applicazioni. Quando un'applicazione chiama per caricare la DLL, la gestione side-by-side determina se l'applicazione ha una dipendenza della versione descritta in un manifesto. Se non è presente alcun manifesto pertinente, il sistema carica la versione predefinita dell'assembly. Per Windows XP, la versione 5.0 di Comctl32.DLL è l'impostazione predefinita del sistema. Se il gestore side-by-side trova una dipendenza dalla versione 6.0 in un manifesto, tale versione viene caricata per l'esecuzione con l'applicazione.
Diversi assembly di sistema chiave vengono resi disponibili da Microsoft come assembly side-by-side. Per altre informazioni, vedere Assembly Microsoft side-by-side supportati. Gli sviluppatori di applicazioni possono anche creare assembly side-by-side personalizzati. Per altre informazioni, vedere Linee guida per la creazione di assembly side-by-side. In molti casi è possibile aggiornare le applicazioni esistenti per usare assembly side-by-side senza dover modificare il codice dell'applicazione.
Gli sviluppatori sono invitati a usare assembly side-by-side per creare applicazioni isolate e aggiornare le applicazioni esistenti in applicazioni isolate per i motivi seguenti:
- Gli assembly side-by-side riducono la possibilità di conflitti di versione della DLL.
- La condivisione di assembly side-by-side consente l'esecuzione contemporaneamente di più versioni di assembly COM o Windows.
- Le applicazioni e gli amministratori possono aggiornare la configurazione degli assembly in base alla configurazione globale o per applicazione dopo la distribuzione. Ad esempio, un'applicazione può essere aggiornata per usare un assembly side-by-side che include un aggiornamento senza dover reinstallare l'applicazione.