2011-08-24 126 views
12

El cambio de depuración para liberar la acumulación hace que el dispositivo Visa para dejar de trabajar y la siguiente advertencia críptica:Cómo reasignar versión de ensamblado

ResolveAssemblyReferences objetivo:

Considere app.config reasignación de reunión "Ivi. Visa.Interop, Culture = neutral, PublicKeyToken = a128c98f1d7717c1 "de la versión " 3.0.0.0 "[] a ​​la versión" 3.2.0.0 "[dll \ Ivi.Visa.Interop.dll] para resolver el conflicto y deshacerse de la advertencia . C: \ Windows \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets: advertencia MSB3247: conflictos encontrados entre diferentes versiones del mismo ensamblado dependiente .

Las propiedades de referencia Ivi.Visa.Interop en el proyecto VS2008 indican que el dll es la versión 3.2.0.0. ¿Cuál es el procedimiento para remapear la versión del ensamblaje como lo sugiere la advertencia?

+0

[Redirigir versiones de ensamblaje en MSDN] (http://msdn.microsoft.com/en-us/library/7wd6ex19%28v=VS.100%29.aspx) (.NET 4.0) – Rune

Respuesta

1

la situación que tenía, estaba con:

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

el {Referenced DLL} tenido múltiples GAC PublicKeyToken partidos.

Así que la compilación {Final Class Library} ignoró la versión a la que se hace referencia en el {Dependent Class Library} y utilizó el valor más alto Version=. Esto tuvo salida con No way to resolve conflict between y Choosing ... arbitrarily etc.

lugar de montaje de la unión, sólo añadido una referencia en el {Final Class Library} a la {Referenced DLL}. Estoy más feliz con esta opción, parece más simple.

1

La advertencia "Se han encontrado conflictos entre versiones diferentes del mismo conjunto dependiente". implica que tiene varios ensamblados en su proyecto haciendo referencia a diferentes intersticios COM Interop - Sugeriría elegir uno (suponiendo que no hay un ensamblado de interoperabilidad primaria proporcionado por el proveedor de la biblioteca) y cambiar todas las referencias para hacer referencia al ensamblado de interoperabilidad (en lugar de agregar referencias a la biblioteca COM por todo el lugar)

Cuestiones relacionadas