Distribuzione di più versioni di un'applicazione o componente
È possibile distribuire assembly progettati per l'esecuzione affiancata nei modi illustrati di seguito.
Distribuzione privata.
È possibile distribuire un assembly nella directory dell'applicazione oppure in una delle relative sottodirectory. L'assembly viene individuato da Common Language Runtime mediante il comportamento di risoluzione delle associazioni predefinito. Per ulteriori informazioni sulla risoluzione dell'associazione di assembly, vedere Come il runtime individua gli assembly.
Gli assembly distribuiti in modo privato costituiscono un modo vantaggioso per distribuire un'applicazione per l'esecuzione affiancata, poiché tali assembly non possono influire su altri assembly installati sul computer. La distribuzione privata può inoltre essere eseguita sia per assembly con nome sicuro che per assembly senza nome sicuro. Gli assembly con nome sicuro non devono essere necessariamente distribuiti nella Global Assembly Cache e possono essere distribuiti nella directory dell'applicazione. Se non si intende condividere un assembly tra più applicazioni, eseguirne la distribuzione privata nella directory dell'applicazione.
Un ulteriore vantaggio della distribuzione privata consiste nella possibilità di utilizzare XCOPY per distribuire l'applicazione.
Distribuzione nella Global Assembly Cache.
L'installazione nella Global Assembly Cache consente di rendere l'assembly visibile a tutte le applicazioni installate su un computer. Questo tipo di distribuzione si rivela appropriata quando un assembly deve essere condiviso da più applicazioni. Nella Global Assembly Cache possono essere distribuiti solo assembly con nome sicuro.
L'installazione nella Global Assembly Cache può essere eseguita sia mediante Windows Installer che con lo strumento Global Assembly Cache (Gacutil.exe). È preferibile utilizzare lo strumento Global Assembly Cache durante lo sviluppo e i test e Windows Installer per la distribuzione dell'applicazione effettiva. Windows Installer consente di tenere traccia dei riferimenti agli assembly installati nella Global Assembly Cache, affinché gli assembly condivisi non vengano disinstallati mentre sono ancora necessari per un'applicazione sul computer. Per ulteriori informazioni sull'installazione di applicazioni affiancate, vedere Utilizzo di Windows Installer per l'installazione di applicazioni e componenti per l'esecuzione affiancata di più versioni.
Distribuzione mediante l'elemento <codeBase>.
L'elemento <codeBase> può essere incluso nel file di configurazione dell'applicazione per semplificare l'individuazione di assembly da parte del runtime. Nel runtime viene utilizzato il percorso specificato nell'elemento <codeBase> anziché eseguire la ricerca dell'assembly in base alle regole predefinite adottate per l'individuazione di assembly. L'elemento <codeBase> può essere utilizzato sia per assembly con nome sicuro che per assembly senza nome sicuro.
Per gli assembly senza nome sicuro, è necessario che gli elementi <codeBase> siano relativi alla directory dell'applicazione. Questo requisito garantisce che nell'esecuzione affiancata non si verifichino conflitti di denominazione, determinati dall'individuazione di due assembly con lo stesso nome da parte del runtime.
Per gli assembly con nome sicuro, gli elementi <codeBase> possono indirizzare il runtime su qualsiasi percorso. Gli elementi <codeBase> forniscono un meccanismo che consente di condividere assembly con nome sicuro tra più applicazioni senza utilizzare la Global Assembly Cache. È tuttavia opportuno prestare la massima attenzione nell'utilizzo di questo metodo di distribuzione, poiché l'esecuzione di un'applicazione potrebbe essere facilmente compromessa immettendo un elemento <codeBase> non corretto quando si modificano le versioni.
Per una descrizione completa della distribuzione, vedere Distribuzione di applicazioni.
Vedere anche
Concetti
Utilizzo di Windows Installer per l'installazione di applicazioni e componenti per l'esecuzione affiancata di più versioni
Indicazioni per la creazione di applicazioni e componenti per l'esecuzione affiancata di più versioni
Altre risorse
Distribuzione di applicazioni .NET Framework
Creazione di più versioni di un'applicazione o componente