Condividi tramite


Informazioni sugli assembly privati

Un'assembly privata è un'assemblaggio distribuito con un'applicazione ed è disponibile per l'uso esclusivo di tale applicazione. Altre applicazioni, quindi, non condividono l'assembly privato. Gli assembly privati sono uno dei metodi utilizzati per creare applicazioni isolate . Per altre informazioni, vedere Informazioni sulle applicazioni isolate e sugli assembly affiancati.

Gli assembly privati devono essere progettati per funzionare in parallelo con altre versioni dell'assembly nel sistema. Per ulteriori informazioni, vedere le linee guida per la creazione di assembly affiancati.

Gli assembly privati devono essere accompagnati da un manifesto dell'assembly . Si noti che le restrizioni relative ai nomi si applicano quando si crea il pacchetto di una DLL come assembly privato per supportare il modo in cui Windows cerca assembly privati. Quando si cercano assembly privati, il metodo consigliato consiste nell'includere il manifesto dell'assembly nella DLL come risorsa. In questo caso, l'ID risorsa deve coincidere con 1 e il nome dell'assembly privato può coincidere con il nome della DLL. Ad esempio, se il nome della DLL è MICROSOFT.WINDOWS.MYSAMPLE.DLL, il valore dell'attributo name usato nell'elemento assemblyIdentity del manifest può anche essere Microsoft.Windows.mysample. Un metodo alternativo per la ricerca di assembly privati consiste nel fornire il manifesto dell'assembly in un file separato. In questo caso, il nome dell'assembly e il relativo manifesto devono essere diversi dal nome della DLL. Ad esempio, Microsoft.Windows.mysampleAsm, Microsoft.Windows.mysampleAsm.manifest e Microsoft.Windows.mysample.dll. Per ulteriori informazioni su come funzionano le ricerche affiancate di assembly privati, vedere Sequenza di ricerca assembly.

Gli assembly privati vengono installati in una cartella della struttura di directory dell'applicazione. In genere, si tratta della cartella contenente il file eseguibile dell'applicazione. Gli assembly privati possono essere distribuiti nella stessa cartella dell'applicazione, in una cartella con lo stesso nome dell'assembly o in una sottocartella specifica della lingua con lo stesso nome dell'assembly. Ad esempio, usare una delle strutture di directory seguenti per distribuire un assembly privato, Microsoft.tools.pop, senza alcuna lingua specificata.

Struttura della directory Descrizione
APPDIR\MICROSOFT.TOOLS.POP.DLL Il manifesto viene distribuito come risorsa nella DLL.
Appdir\Microsoft.Tools.Pop.MANIFEST Il manifesto viene distribuito come file separato.
APPDIR\MICROSOFT.TOOLS.POP\MICROSOFT.TOOLS.POP.DLL Il manifesto viene distribuito come risorsa nella DLL, che si trova in una sottocartella con il nome dell'assembly.
Appdir\Microsoft.Tools.Pop\Microsoft.Tools.Pop.MANIFEST Il manifesto viene distribuito come file separato in una sottocartella con il nome dell'assembly.

 

Importante

Per le versioni del sistema operativo Windows precedenti a Windows 7 e Windows Server 2008 R2, gli assembly privati nativi devono essere distribuiti nella cartella che contiene il file eseguibile dell'applicazione. L'installazione in una cartella specifica della lingua o in una cartella con lo stesso nome dell'assembly non è supportata per gli assembly privati nativi.

 

Usare una delle strutture di directory seguenti per distribuire un assembly privato, Microsoft.tools.pop, con una lingua specificata. Nell'esempio seguente la lingua usata da Microsoft.Tools.Pop è inglese (Stati Uniti) e il codice di lingua è en-us. Dovresti sostituire il codice della lingua DHTML corretto per il tuo assembly.

appdir\en-us\Microsoft.tools.pop.DLL
appdir\en-us\Microsoft.tools.pop.MANIFEST
appdir\en-us\Microsoft.tools.pop\Microsoft.tools.pop.DLL
appdir\en-us\Microsoft.tools.pop\Microsoft.tools.pop.MANIFEST

Gli assembly privati possono essere installati da qualsiasi metodo di installazione in grado di copiare il file dell'assembly in questa cartella, ad esempio il comando xcopy. Per altre informazioni su come installare assembly privati tramite Windows Installer, vedere Installazione di assembly Win32.

Gli assembly privati possono essere installati anche nei sistemi operativi precedenti a Windows XP. In questo caso, l'assembly deve essere registrato e in questi sistemi operativi il manifesto non viene usato. Una copia dell'assembly privato viene installata in una cartella privata per l'uso esclusivo dell'applicazione. Un'altra versione dell'assembly può essere registrata a livello globale nel sistema e disponibile per qualsiasi applicazione associata. La versione globale dell'assembly può essere la versione installata con l'applicazione o una versione precedente. Per altre informazioni, vedere Il Reindirizzamento DLL/COM in Windows. Un assembly può anche essere installato come assembly condiviso per l'uso da parte di più applicazioni. Per altre informazioni, vedere Assembly Condivisi.

Si noti che i passaggi per la creazione di un assembly privato sono identici a quelli per la creazione di un assembly condiviso con due eccezioni:

  • Non è necessario firmare un assembly privato e publickeyToken non è necessario nell'elemento assemblyIdentity del manifesto dell'assembly.
  • Gli assembly privati possono essere installati nella cartella dell'applicazione usando qualsiasi tecnologia di installazione. Gli assembly privati non devono essere installati tramite Windows Installer.