Riferimenti ad assembly parzialmente qualificati ed esecuzione affiancata di più versioni
Poiché costituiscono una potenziale fonte di problemi a livello di esecuzione affiancata, i riferimenti ad assembly parzialmente qualificati possono essere utilizzati solo per eseguire l'associazione agli assembly all'interno di una directory dell'applicazione. Evitare di inserire riferimenti ad assembly parzialmente qualificati nel codice.
Per limitare l'effetto dei riferimenti ad assembly parzialmente qualificati nel codice, è possibile utilizzare l'elemento <qualifyAssembly> del file di configurazione di un'applicazione per rendere completamente qualificati i riferimenti parzialmente qualificati presenti nel codice. Utilizzare l'elemento <qualifyAssembly> per specificare solo i campi non impostati nel riferimento parziale. L'identità dell'assembly indicata nell'attributo fullName deve contenere tutte le informazioni necessarie per qualificare in modo completo il nome dell'assembly: nome dell'assembly, chiave pubblica, lingua e versione.
Nell'esempio riportato di seguito viene illustrata la voce del file di configurazione dell'applicazione utilizzata per qualificare in modo completo un assembly denominato myAssembly
.
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<qualifyAssembly partialName="myAssembly"
fullName="myAssembly,
version=1.0.0.0,
publicKeyToken=...,
culture=neutral"/>
</assemblyBinding>
Ogni volta che viene fatto riferimento a myAssembly
in un'istruzione per il caricamento di assembly, queste impostazioni del file di configurazione determinano nel runtime la conversione automatica del riferimento parziale a myAssembly
in un riferimento completo. Assembly.Load("myAssembly") viene ad esempio convertito in Assembly.Load("myAssembly, version=1.0.0.0, publicKeyToken=..., culture=neutral").
Nota
Il metodo LoadWithPartialName consente di ignorare la restrizione di Common Language Runtime che impedisce il caricamento di riferimenti ad assembly parzialmente qualificati dalla Global Assembly Cache. È opportuno utilizzare questo metodo solo nell'ambito di servizi remoti, poiché può causare problemi nell'esecuzione affiancata.
Vedere anche
Concetti
Altre risorse
Assembly in Common Language Runtime
Nozioni fondamentali sull'esecuzione affiancata di diverse versioni