2011-11-14 18 views
5

Estoy intentando compilar una aplicación para la que tengo la solución y no puedo pasar:'debe agregar una referencia a Microsoft.Practices.EnterpriseLibrary.Common' a pesar de que el montaje es en la GAC ​​

'Microsoft.Practices.EnterpriseLibrary.Common.Configuration.IConfigurationSource' se define en un conjunto al que no se hace referencia. Usted debe agregar una referencia al ensamblaje 'Microsoft.Practices.EnterpriseLibrary.Common, versión = 3.1.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a'

Así que he añadido el conjunto a la GAC:

enter image description here

Después de algunas investigaciones que abrieron estudio visual con el Fusion Assembly Binding Viewer en marcha, lo que parecía crear una gran cantidad de registros pero ninguno que relaciona a esta versión exacta de la asamblea (sin embargo 4.1.0.0 es de allí).

No puedo simplemente agregar -> referencia ya que VS me dice que ya existe una referencia con el mismo nombre.

¿Qué otras avenidas debo explorar?

+0

¿Por qué no utilizas EntLib 5.0? – abatishchev

+0

Este no es mi proyecto, solo necesito compilarlo –

+0

Si hay una referencia existente, intente eliminar la referencia existente y luego volver a agregarla. Tener la asamblea en el GAC no hará ninguna diferencia en el tiempo de compilación. – Justin

Respuesta

1

Ha intentado alias el ensamblado también si está utilizando .net 4.0 tendría que tener una entrada en el archivo .config, por ejemplo, que muestra el nombre del ensamblado anterior que hace referencia al nuevo nombre del ensamblado. Varias otras cosas a tener en cuenta ... si el .DLL está en el GAC y no tiene una copia de ese ensamblado en la carpeta bin, esto podría causar un problema ..

¿Es esta referencia local o es el código en una máquina remota ...? si se trata de una máquina remota ... ¿por qué no agregar ese ensamblaje específico al GAC? fíjate también en la diferencia de versiones de los dos ensamblajes en la captura de pantalla ...

Cuestiones relacionadas