How to: Reparar error ‘EntityFramework.SqlServer’ no se puede cargar en pruebas unitarias.

Si necesitas reparar un error del componente ‘EntityFramework.SqlServer’ en la ejecución de tus pruebas debes saber esto:

¿Cual es el error que aparece?.

El error es el siguiente:

System.InvalidOperationException: The Entity Framework provider type ‘System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer’ registered in the application config file for the ADO.NET provider with invariant name ‘System.Data.SqlClient’ could not be loaded. Make sure that the assembly-qualified name is used and that the assembly is available to the running application. See http://go.microsoft.com/fwlink/?LinkId=260882 for more information.

¿Que ocasiona el error?.

El error surge porque el archivo EntityFramework.SqlServer.dll no es correctamente referenciado debido a que no es explicitamente referenciado en los archivos binarios. El archivo es copiado al directorio bin pero no es visible por algún motivo, este es un problema recurrente de EntityFramework, ocurre habitualmente en los proyectos de pruebas, es posible que te aparezca en otro tipo de proyectos.

¿Como reparo este error?

Basta con referenciar explicitamente a los tipos del ensamblado para que no te vuelva a aparecer este error. Puedes hacer una referencia al ensamblado en tu clase AssemblyInitialize de tu proyecto de pruebas. También puedes hacer esto en tu método Main o tu archivo Global.asax

Gustavo Sánchez

Soy especialista en escribir software de calidad. Mediante el uso de marcos de trabajo, técnicas y automatización de procesos he podido reducir los costes operativos de los sistemas de la empresa. Sistemas confiables y adaptables producen clientes felices.

Site Footer