2011-09-22 5 views
5

Oggi stavo riscontrando un problema di disallineamento dell'assemblaggio e dopo un po 'di scavo ho trovato che per una particolare DLL, il riferimento reale nel progetto era stato fatto ad un'altra versione e il file di configurazione
per quel progetto stava mostrando dipendenza a qualche altra versione della stessa DLL..net - dependentAssembly

Scad.

<dependentAssembly> 
    <assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" /> 
    <bindingRedirect oldVersion="2.0.1.4000" newVersion="2.1.2.4000" /> 
</dependentAssembly> 

Ho rimosso la dichiarazione di dipendenza per quell'assieme dal file di configurazione e voilà! Sono stato in grado di correre di nuovo :-)

La mia domanda è -

Quando vengono <dependentAssembly> dichiarazioni fatte nel file di configurazione di progetto? Li aggiungiamo manualmente? E in quale scenario?

risposta

4

Quando sono le dichiarazioni <dependentAssembly> nel file di configurazione progetto ? Li aggiungiamo manualmente? E in quale scenario?

Quando si desidera assicurarsi che il software si colleghi a una versione più recente di un assembly in fase di esecuzione rispetto a quello su cui è stato costruito.

Maggiori informazioni: http://msdn.microsoft.com/en-us/library/7wd6ex19.aspx

Potete per favore anche guidare in quello scenario di cui abbiamo bisogno versione precedente al fase di compilazione e nuova versione in fase di esecuzione?

Ad esempio, se si utilizza un'API del fornitore, è possibile che il fornitore abbia identificato un bug e debba emettere una nuova versione ma è già stata spedita.

+0

Grazie per la tua risposta, puoi anche guidare in quale scenario abbiamo bisogno di una versione precedente in fase di compilazione e una versione più recente in fase di esecuzione? – iniki

+0

Ad esempio, se si utilizza un'API del fornitore, è possibile che il fornitore abbia identificato un bug e debba emettere una nuova versione ma è già stata spedita. –

+0

ah! Grazie :) – iniki

Problemi correlati