Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 5752|Risposta: 3

[Fonte] [Operazione Pratica] Conflitti tra il riferimento a diverse versioni di DLL che si basano su reindirizzamenti

[Copiato link]
Pubblicato il 2022-10-22 10:03:33 | | | |
Requisiti: Il progetto deve fare riferimento a molti SDK di terze parti, e alcuni di essi faranno riferimento ad alcune DLL comunemente usate (come :Newtonsoft.Json.dll), il che farà sì che l'intero progetto faccia riferimento a diverse versioni della stessa DLL, e il progetto genererà un solo file con gli stessi risultati compilati DLL.

Semplici problemi di dipendenza da versione DLL possono essere citati di seguito:

Risoluzione dei conflitti nella versione DLL riferimento .net/C#
https://www.itsvse.com/thread-4818-1-1.html
Riferimento:Il login del link ipertestuale è visibile.

Se la DLL citata non è solo di una versione diversa, ma anche del publicKeyToken, come dovrebbe essere risolta? Nel caso di Newtonsoft.Json.dll, il progetto fa riferimento a un file con una versione diversa e pubblicKeyToken.



- Newtonsoft.Json.dll, versione:12.0.0.0,publicKeyToken:30ad4fe6b2a6aeed
- Newtonsoft.Json.dll,version:4.0.0.0,publicKeyToken:null

Una semplice impostazione di reindirizzamento di riferimento non risolve il problema, la configurazione è la seguente:

Quando richiami un metodo SDK di terze parti che dipende da Newtonsoft.Json versione 4.0.0.0, riceverai il seguente errore:

Non è riuscito a caricare il file o l'assembly "Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" o una delle sue dipendenze. La definizione del manifesto dell'assemblaggio trovata non corrisponde al riferimento dell'assemblaggio. (Eccezione da HRESULT:0x80131040)
Soluzione: Creare una nuova cartella JSON4 sotto la cartella bin, inserire la versione di Newtonsoft.Json.dll 4.0.0.0 sotto questa cartella e modificare la configurazione come segue:

(Fine)





Precedente:[Combattimento vero e proprio]. NET/C# implementa backup del database MySQL basati su MySqlBackup.NET
Prossimo:【Combattimento Pratico】Build Thunder Download e Servizi DLNA per Home Media Docker
Pubblicato il 22-10-2022 12:02:36 |
Impara a imparare
Pubblicato il 24-10-2022 10:59:38 |
Questo trucco funziona, mi danno fastidio il Newtonsoft.Json.dll tra 4.0 e 6.0
Pubblicato il 12-11-2022 13:08:42 |
Impara a imparare
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com