Condividi tramite


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, impostazioni cultura 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").

NotaNota

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

Assembly in Common Language Runtime

Nomi degli assembly

Esecuzione affiancata di diverse versioni