Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 5752|Svar: 3

[Källa] [Praktisk funktion] Konflikter mellan att hänvisa till olika versioner av DLL:er som förlitar sig på omdirigeringar

[Kopiera länk]
Publicerad den 2022-10-22 10:03:33 | | | |
Krav: Projektet behöver referera till många tredjeparts-SDK:er, och några av dem kommer att referera till vanliga DLL:er (såsom :Newtonsoft.Json.dll), vilket gör att hela projektet refererar till olika versioner av samma DLL, och projektet kommer bara att exportera en fil med samma DLL-kompilerade resultat.

Enkla problem med DLL-versionens beroende kan refereras nedan:

.net/c# referens till DLL-version konfliktlösning
https://www.itsvse.com/thread-4818-1-1.html
Hänvisning:Inloggningen med hyperlänken är synlig.

Om den refererade DLL:en inte bara är av en annan version, utan också av publicKeyToken, hur bör den lösas? I fallet med Newtonsoft.Json.dll refererar projektet till en fil med en annan version och publicKeyToken.



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

En enkel referensomdirigeringsinställning löser inte problemet, konfigurationen är följande:

När du anropar en tredjeparts SDK-metod som är beroende av Newtonsoft.Json version 4.0.0.0 får du följande fel:

Misslyckades med att ladda filen eller assembleren "Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" eller någon av dess beroenden. Definitionen av found assembly manifest stämmer inte överens med monteringsreferensen. (Undantag från HRESULT:0x80131040)
Lösning: Skapa en ny JSON4-mapp under bin-katalogen, placera versionen av Newtonsoft.Json.dll 4.0.0.0 under denna mapp och ändra konfigurationen enligt följande:

(Slut)





Föregående:[Verklig strid]. NET/C# implementerar MySQL-databasbackuper baserade på MySqlBackup.NET
Nästa:【Praktisk strid】Bygg Thunder Download och DLNA-tjänster för Home Media Docker
Publicerad 2022-10-22 12:02:36 |
Lär dig att lära dig
Publicerad den 2022-10-24 10:59:38 |
Det här tricket fungerar, jag störs av Newtonsoft.Json.dll 4.0 och 6.0
Publicerad den 2022-11-12 13:08:42 |
Lär dig att lära dig
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com