13

Tengo algunos problemas al intentar ejecutar DAAB desde la biblioteca Enterprise 5.0. He seguido los pasos de acuerdo con el tutorial, pero estoy teniendo errores ...Problema al intentar configurar la biblioteca empresarial 5.0 (Bloque de aplicaciones de acceso a datos)

1) descargar/instalar la biblioteca de la empresa

2) Añadir referencias a los bloques que necesito (/ datos comunes)

3) Importaciones

Imports Microsoft.Practices.EnterpriseLibrary.Common 
Imports Microsoft.Practices.EnterpriseLibrary.Data 

4) Mediante el software enterprise config config. Abro el web.config de mi sitio. Luego haga clic en los bloques, a continuación, Agregar la configuración de datos ... rellenar más detalles y guardar/cierre

5) Entonces (configuración pensar es completa) tratar de obtener una instancia de la base de datos a través de

Dim db As Database = DatabaseFactory.CreateDatabase() 

6) Compilo y recibo el siguiente error:

No se pudo cargar el archivo o ensamblado 'Microsoft.Practices.EnterpriseLibrary.Data, Version = 5.0.414.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' o una de sus dependencias. La definición del manifiesto del ensamblaje ubicado no coincide con la referencia de ensamblaje. (Excepción de HRESULT: 0x80131040) (C: \ sitio \ web.config línea 4)

Línea 4 de mi web.config se ha generado por la herramienta de configuración y es:

<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" /> 

me estoy perdiendo una paso requerido? ¿He hecho los pasos en el orden incorrecto? ¿He cometido un error?

Muchas gracias por la ayuda.

Respuesta

20

La respuesta:

había referenciado accidentalmente los montajes de la carpeta src código. Lo que significa que los tokens públicos tendrían = null. Volví a hacer referencia a los ensamblados en C: \ Archivos de programa \ Microsoft Enterprise Library 5.0 \ Bin y ahora el problema está resuelto.

+0

Esto funcionó para mí, aunque tuve que limpiar y reconstruir mi solución antes de que los cambios en las DLL tuvieran efecto – tjrobinson

1

Lo que probablemente necesita hacer es cambiar el marco de destino en la propiedad de su proyecto de ".NET Framework 4 Client Profile" a ".NET Framework 4".

Cuando crea por primera vez un proyecto de consola, VS 2010 crea de forma predeterminada "NET Framework 4 Client Profile". EL 5 compilado con ".NET Framework 4" y su proyecto tiene dificultades para resolver EL dll (s).

+0

Estoy usando .NET Framework 3.5 con vs2008 sp1 – Phil

4

Ya vi que recibiste la respuesta; Sin embargo, quería señalar que al abrir la herramienta de configuración de VS, usted tiene la opción de decirle a la herramienta de configuración de lo conjuntos que desee han referenciado:

  1. En VS2010: abrir la ventana de propiedades del editor y seleccione del explorador de solución el archivo de Solución.
  2. Vas a ver la opción de "Enterprise Library 5 armado del juego, con las opciones para utilizar las versiones firmadas (Microsoft Signed) o el signo (EntLibV5Src)

Cuando el fuego de la herramienta de configuración, sino que se Haga referencia a los ensambles en el archivo de configuración de acuerdo a su elección.

biblioteca Empresa
+1

Esto funcionó para mí. Un punto adicional: si su archivo de configuración ya tenía algunos elementos EntLib específicos a los que se hizo referencia como firmados y desea utilizar versiones sin analizar de las bibliotecas EntLib, debe eliminar manualmente 'PublicKeyToken =' de su archivo de configuración donde sea que se use Contexto de EntLib. De lo contrario, ConfigEditor no se abrirá y obtendrás el mismo excedente. –

2

tiene 2 descargas ...

  • Enterprise Library 5.0 - Fuente Code.msi
  • Enterprise Library 5.0.msi

Sólo el segundo tiene los binarios firmados .. . que es lo que es necesario para resolver la "definición de manifiesto no coincide con la referencia de ensamblado" error

(y para su información, el segundo también incluye el código fuente i f decide instalarlo)

+0

También hay una actualización opcional Enterprise Library 5.0 1. Su versión es 5.0.505.0 y causará el error si está instalada en lugar de Enterprise Library 5.0 para un proyecto existente. – Suncat2000

3

Además de lo @Nicolas respondió que puede venir sobre este problema quitando símbolo pública en app.config donde quiera que se utilice con Enterprise Library 5.0 DLL

1

generan

<section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />      
     <section name="exceptionHandling" type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration.ExceptionHandlingSettings, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
     <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />  
Cuestiones relacionadas