2011-08-24 15 views
12

Passare da debug per rilasciare accumulo fa sì che il dispositivo di Visa di smettere di lavorare e il seguente avviso criptico:Come rimappare versione di assembly

target ResolveAssemblyReferences:

consideri app.config rimappatura di montaggio "Ivi. Visa.Interop, Culture = neutro, PublicKeyToken = a128c98f1d7717c1 "dalla versione " 3.0.0.0 "[] alla versione" 3.2.0.0 "[dll \ Ivi.Visa.Interop.dll] per risolvere il conflitto ed eliminare l'avviso . C: \ Windows \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets: avviso MSB3247: conflitti trovati tra diverse versioni dello stesso gruppo dipendente dello .

Le proprietà di riferimento Ivi.Visa.Interop nel progetto VS2008 indicano che la dll è la versione 3.2.0.0. Qual è la procedura per rimappare la versione dell'assieme come suggerito dall'avviso?

+0

[Reindirizzamento delle versioni di assieme su MSDN] (http://msdn.microsoft.com/en-us/library/7wd6ex19%28v=VS.100%29.aspx) (.NET 4.0) – Rune

risposta

1

la situazione che ho avuto, era con:

{Final Class Library}<-{Dependent Class Library}<-{Referenced DLL}

il {Referenced DLL} aveva molteplici GAC PublicKeyToken partite.

Quindi la compilazione {Final Class Library} ha ignorato la versione a cui si fa riferimento nello {Dependent Class Library} e ha utilizzato il valore massimo Version=. Questo ha avuto output con No way to resolve conflict between e Choosing ... arbitrarily ecc.

Invece di associazione di assemblaggio, ho aggiunto un riferimento nello {Final Class Library} allo {Referenced DLL}. Sono più felice con questa opzione, sembra più semplice.

1

L'avviso "Trovato conflitti tra diverse versioni dello stesso assembly dipendente". implica che nel tuo progetto ci siano più assembly che fanno riferimento a stub di interoperabilità COM diversi: ti suggerisco di sceglierne uno (supponendo che non ci sia un assembly di interoperabilità primario fornito dal fornitore della libreria) e di modificare tutti i riferimenti per fare riferimento a tale assembly di interoperabilità (anziché aggiungere riferimenti a la libreria COM tutto il luogo)

Problemi correlati