El proyecto de referencia asp.net 3.5 con referencia de ensamblado arroja un error de firma / nombre seguro en la prueba unitaria
-
27-10-2019 - |
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.
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.