Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 5752|Respuesta: 3

[Fuente] [Operación Práctica] Conflictos entre referirse a diferentes versiones de DLLs que dependen de redirecciones

[Copiar enlace]
Publicado el 22-10-2022 a las 10:03:33 | | | |
Requisitos: El proyecto necesita referenciar muchos SDKs de terceros, y algunos de ellos referenciarán DLLs de uso común (como :Newtonsoft.Json.dll), lo que hará que todo el proyecto haga referencia a diferentes versiones de la misma DLL, y el proyecto solo generará un archivo con los mismos resultados compilados de DLL.

A continuación se pueden consultar a continuación problemas simples de dependencia de versiones de DLL:

Resolución de conflictos de versiones DLL de referencia .net/c#
https://www.itsvse.com/thread-4818-1-1.html
Referencia:El inicio de sesión del hipervínculo es visible.

Si la DLL referenciada no solo es de otra versión, sino también del publicKeyToken, ¿cómo debería resolverse? En el caso de Newtonsoft.Json.dll, el proyecto hace referencia a un archivo con una versión diferente y publicKeyToken.



- Newtonsoft.Json.dll,versión:12.0.0.0,publicKeyToken:30ad4fe6b2a6aeed
- Newtonsoft.Json.dll,versión:4.0.0.0,publicKeyToken:null

Un simple ajuste de redirección de referencia no resuelve el problema, la configuración es la siguiente:

Cuando llamas a un método SDK de terceros que depende de Newtonsoft.Json versión 4.0.0.0, obtendrás el siguiente error:

No se ha cargado el archivo o ensamblador "Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" ni una de sus dependencias. La definición del manifiesto de ensamblador encontrada no coincide con la referencia de ensamblaje. (Excepción de HRESULT:0x80131040)
Solución: Crear una nueva carpeta JSON4 bajo el directorio bin, colocar la versión de Newtonsoft.Json.dll 4.0.0.0 bajo esta carpeta y modificar la configuración de la siguiente manera:

(Fin)





Anterior:[Combate real]. NET/C# implementa copias de seguridad de bases de datos MySQL basadas en MySqlBackup.NET
Próximo:【Combate Práctico】Build Thunder Download y Servicios DLNA para Home Media Docker
Publicado el 22-10-2022 12:02:36 |
Aprende a aprender
Publicado el 24-10-2022 a las 10:59:38 |
Este truco funciona, me molesta la Newtonsoft.Json.dll de 4.0 y 6.0
Publicado el 12-11-2022 13:08:42 |
Aprende a aprender
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com