Dapper falla con .net 4.6 - No se pudo cargar el archivo o el ensamblaje

.net dapper mvvm-light vb.net wpf

Pregunta

Tengo una aplicación WPF / MVVM Light orientada a .net 4.6 y Dapper 1.50.4. Estoy usando Visual Studio Pro 2017 para desarrollar la aplicación.

Esta aplicación estaba funcionando, pero obtuve una nueva computadora y moví el desarrollo de esta aplicación a la nueva computadora. Cuando intento ejecutar esta aplicación en mi nueva computadora, aparece el siguiente error:

System.IO.FileLoadException: 'No se pudo cargar el archivo o ensamblado' Dapper, Version = 1.50.4.0, Culture = neutral, PublicKeyToken = null 'o una de sus dependencias. Se requiere un ensamble con un nombre fuerte. (Excepción de HRESULT: 0x80131044) '

Lo que he intentado

  1. Puedo confirmar que dapper.dll está en el directorio projectRoot / bin / debug
  2. He ejecutado el Visor de registro vinculante de ensamblaje y solo recibo un error al ejecutar mi aplicación, pero no está en el dapper.dll, está en el sistema.windows.dll:
The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.

Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Running under executable  C:\Users\jorda\...\bin\Debug\FTC_Application.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: DisplayName = System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
 (Fully-specified)
LOG: Appbase = file:///C:/Users/jorda/.../bin/Debug/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = FTC_Application.exe
Calling assembly : GalaSoft.MvvmLight, Version=5.3.0.19026, Culture=neutral, PublicKeyToken=e7570ab207bcb616.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Users\jorda\...\bin\Debug\FTC_Application.exe.Config
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.
LOG: Post-policy reference: System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///C:/Users/jorda/.../bin/Debug/System.Windows.DLL.
LOG: Attempting download of new URL file:///C:/Users/jorda/.../bin/Debug/System.Windows/System.Windows.DLL.
LOG: Attempting download of new URL file:///C:/Users/jorda/.../bin/Debug/System.Windows.EXE.
LOG: Attempting download of new URL file:///C:/Users/jorda/.../bin/Debug/System.Windows/System.Windows.EXE.
LOG: All probing URLs attempted and failed.
  1. He desinstalado y reinstalado el paquete NuGet para dapper
  2. borró la carpeta obj en mi proyecto para forzar una reconstrucción
  3. la aplicación existe en una carpeta de una unidad, por lo que desactivé una unidad pensando que el proceso de sincronización podría haber estado bloqueando los archivos, pero esto no solucionó el problema.
  4. obviamente reinició Visual Studio repetidamente
  5. Actualizando a la última versión de la luz MVVM - sin cambios

Algo está claramente relacionado con mover esta solución a otra computadora, pero no estoy seguro de dónde rastrearla.

PREGUNTA

¿Alguien puede ayudarme a descubrir por qué estoy recibiendo este error al llamar a Dapper en mi proyecto o ayudarme a solucionarlo?

gracias por adelantado

Respuesta aceptada

Entonces no me di cuenta de que hay una versión con nombre fuerte y sin nombre de dapper. La verdad es que no sabía mucho sobre las asambleas firmadas.

Solución:

  1. Retire el paquete Dapper NuGet simple
  2. Instale el paquete Dapper.StrongName NuGet.

Ver esta pregunta (crédito)



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué