El proyecto de referencia asp.net 3.5 con referencia de ensamblado arroja un error de firma / nombre seguro en la prueba unitaria

StackOverflow https://stackoverflow.com/questions/4846718

Pregunta

Tengo una referencia a un ensamblado MySQL.Data 5.2.3 en una capa de datos, genial. Actualmente tengo una pequeña aplicación de consola con la misma solución que hace referencia SOLO a ESTA capa de datos que se conecta muy bien. Luego creé un proyecto de prueba unitaria (también en la misma solución) y hago referencia a ese mismo proyecto de capa de datos, y de ahí obtengo:

El método de prueba LTTests.WrapperTest.LoginTest arrojó una excepción: System.IO.FileLoadException: no se pudo cargar el archivo o ensamblado 'MySql.Data, Version= 5.2.3.0, Culture= neutral, PublicKeyToken= c5687fc88969c44d' o uno de sus dependencias. No se pudo verificar la firma del nombre seguro. Es posible que el ensamblaje haya sido manipulado o que se haya firmado con retraso pero no esté completamente firmado con la clave privada correcta. (Excepción de HRESULT: 0x80131045).

Entonces, estoy tratando de entender ... ¿Puedo hacer esto para un ejecutable de consola y funciona, pero no una prueba unitaria? Esto me pone nervioso construir sobre algo aparentemente defectuoso, pero no sé qué hacer a continuación. Estoy perdido, he estado volviendo a agregar varias cosas buscando cuál es el trato y no tengo ni idea.

La excepción es de la capa de datos y no de la prueba (según la pila), por lo que es como si la prueba estuviera llamando al método de la capa (duh) y la capa de datos estuviera vomitando pero no para la consola.

Gracias.

¿Fue útil?

Solución

Esta no es la respuesta por la que hay un error, sino una forma posible de averiguarlo:

Puede utilizar el "Visor de registro de enlace de ensamblados" (Fuslogvw.exe) que pertenece al dotnet sdk para averiguar qué está cargado y por qué.

Si el registro está habilitado, puede mostrarle qué ensamblados se cargan desde qué directorio y qué ensamblado causó que se cargara.

Para obtener más información, consulte http:// msdn.microsoft.com/en-us/library/e74a18c4(v=vs.80).aspx

por lo que puede haber diferentes versiones de MySql.Data por ahí y el mensaje de error significa, es decir, que el número de versión encontrado no es el esperado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top