it-swarm.com.de

Datei oder Assembly 'Newtonsoft.Json' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Die Manifestdefinition stimmt nicht mit der Assembly-Referenz überein

Dinge, die ich nach der Suche ausprobiert habe:

  1. in Web.Config eine Bindung an die alte Version setzen:

    <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.1.0" />
    </dependentAssembly>
    
  2. Bearbeiten Sie meine .csproj-Datei, um sicherzustellen, dass es nur eine Newtonsoft-Referenz gibt

    <Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
       <HintPath>..\packages\Newtonsoft.Json.6.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
       <SpecificVersion>False</SpecificVersion>
       <Private>True</Private>
    </Reference>
    
  3. Durchsuchen Sie meinen Computer nach jeder Newtonsoft.Json.dll, und löschen Sie jede Version 6.0.1 und den Inhalt meines temporären Ordners

  4. Reparieren Sie das Paket in der Nuget-Manager-Konsole

Es ist erfolgreich beim Bauen, es wird jedoch der Fehler angezeigt, wenn Sie zur Website gehen.

EDIT

oK, also habe ich versucht, wie jedes Nuget-Paket neu zu installieren, und es scheint, dass die Version 4.5 der Datei newtonsoft.json.dll wieder hinzugefügt wurde, aber ich erhalte die gleiche Fehlermeldung. Das Zielprojekt für mein Projekt ist .NET 4.5.1. Hier ist die Stack-Spur, die ich jetzt bekomme:

Serverfehler in '/' Anwendung. 

Datei oder Assembly 'Newtonsoft.Json' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Die Manifestdefinition der gefundenen Assembly stimmt nicht mit der Assemblyreferenz überein. (Ausnahme von HRESULT: 0x80131040)

Beschreibung: Während der Ausführung der aktuellen Webanforderung ist eine nicht behandelte Ausnahme aufgetreten. Überprüfen Sie die Stack-Ablaufverfolgung auf weitere Informationen zu dem Fehler und wo er im Code entstanden ist. 

Ausnahmedetails: System.IO.FileLoadException: Datei oder Assembly 'Newtonsoft.Json' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Die Manifestdefinition der gefundenen Assembly stimmt nicht mit der Assemblyreferenz überein. (Ausnahme von HRESULT: 0x80131040)

Quellfehler: 

Während der Ausführung der aktuellen Webanforderung wurde eine nicht behandelte Ausnahme generiert. Informationen zum Ursprung und zum Ort der Ausnahme können mithilfe der Ablaufverfolgung für Ausnahmestapel identifiziert werden.

Assembly Load Trace: Die folgenden Informationen können hilfreich sein, um festzustellen, warum die Assembly 'Newtonsoft.Json' nicht geladen werden konnte.

=== Statusinformationen vor dem Binden === LOG: DisplayName = Newtonsoft.Json (Teilweise) WRN: Für eine Assembly wurden teilweise verbindliche Informationen bereitgestellt: WRN: Name der Assembly: Newtonsoft.Json | Domänen-ID: 2 WRN: Eine partielle Bindung tritt auf, wenn nur ein Teil des Assembly-Anzeigenamens angegeben wird . WRN: Dies kann dazu führen, dass die Sammelmappe eine falsche Assembly lädt . WRN: Es wird empfohlen, der Assembly eine vollständig angegebene Textidentität mitzuteilen. WRN: Das besteht aus dem einfachen Namen, der Version, der Kultur und dem öffentlichen Schlüsseltoken . WRN: Weitere Informationen und allgemeine Lösungen zu diesem Problem finden Sie im Whitepaper http://go.Microsoft.com/fwlink/?LinkId=109270 . . LOG: Appbase = Datei: /// c:/Benutzer/Benutzer/Dokumente/Visual Studio 2013/Projekte/foo/bar / LOG: Anfänglicher PrivatePath = c:\Benutzer\Benutzer\Dokumente\Visual Studio 2013\Projekte\foo\bar\bin Aufrufende Assembly: (Unbekannt) . === LOG: Diese Bindung beginnt im Standard-Ladekontext . LOG: Verwenden der Anwendungskonfigurationsdatei: c:\Benutzer\Benutzer\Dokumente\Visual Studio 2013\Projekte\foo\bar\web.config LOG: Verwenden Sie die Host-Konfigurationsdatei: C:\Users\user\Documents\IISExpress\config\aspnet.config LOG: Verwenden der Maschinenkonfigurationsdatei unter C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config . LOG: Richtlinie, die zurzeit nicht auf Verweise angewendet wird (private, benutzerdefinierte, teilweise oder ortsbasierte Assemblybindung) . LOG: Versuch des Herunterladens einer neuen URL-Datei: /// C:/Benutzer/Benutzer/AppData/Local/Temp/1/Temporäre ASP.NET-Dateien/root/48686d37/9d7a6572/Newtonsoft.Json.DLL . LOG: Versuch des Herunterladens einer neuen URL-Datei: /// C:/Users/AppData/Local/Temp/1/Temporäre ASP.NET-Dateien/root/48686d37/9d7a6572/Newtonsoft.Json/Newtonsoft.Json.DLL . LOG: Versuch des Herunterladens einer neuen URL-Datei: /// c:/users/user/documents/visual studio 2013/Projekte/foo/bar/bin/Newtonsoft.Json.DLL . LOG: Verwenden der Anwendungskonfigurationsdatei: c:\Benutzer\Benutzer\Dokumente\Visual Studio 2013\Projekte\foo\bar\web.config LOG: Verwenden Sie die Host-Konfigurationsdatei: C:\Users\user\Documents\IISExpress\config\aspnet.config LOG: Verwenden der Maschinenkonfigurationsdatei unter C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config . LOG: Umleitung in der Anwendungskonfigurationsdatei gefunden: 4.5.0.0 umgeleitet auf 6.0.1.0 . LOG: Referenz nach der Richtlinie: Newtonsoft.Json, Version = 6.0.1.0, Kultur = neutral, PublicKeyToken = 30ad4fe6b2a6aeed LOG: Versuch des Herunterladens einer neuen URL-Datei: /// C:/Benutzer/Benutzer/AppData/Local/Temp/1/Temporäre ASP.NET-Dateien/root/48686d37/9d7a6572/Newtonsoft.Json.DLL . LOG: Versuch des Herunterladens einer neuen URL-Datei: /// C:/Benutzer/Benutzer/AppData/Local/Temp/1/Temporäre ASP.NET-Dateien/root/48686d37/9d7a6572/Newtonsoft.Json/Newtonsoft.Json.DLL . LOG: Versuch des Herunterladens einer neuen URL-Datei: /// c:/users/user/documents/visual studio 2013/Projekte/foo/bar/bin/Newtonsoft.Json.DLL . WRN: Der Vergleich des Assemblynamens führte zu einer Nichtübereinstimmung: Hauptversion ERR: Installation der Assembly konnte nicht abgeschlossen werden (hr = 0x80131040). Die Prüfung wurde abgebrochen.Stapelverfolgung:.

[FileLoadException: Datei oder Assembly 'Newtonsoft.Json' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Die Manifestdefinition der gefundenen Assembly stimmt nicht mit der Assemblyreferenz überein. (Ausnahme von HRESULT: 0x80131040)] 

[FileLoadException: Datei oder Assembly 'Newtonsoft.Json, Version = 6.0.1.0, Culture = neutral, PublicKeyToken = 30ad4fe6b2a6aeed' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Die Manifestdefinition der gefundenen Assembly stimmt nicht mit der Assemblyreferenz überein. (Ausnahme von HRESULT: 0x80131040)] System.Reflection.RuntimeAssembly._nLoad (AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark & ​​stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, 0). System.Reflection.RuntimeAssembly.nLoad (AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark & ​​stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean fürIntrospection, Boolean-Unterdrückungsunterstützung. System.Reflection.RuntimeAssembly.InternalLoadAssemblyName (AssemblyName AssemblyRef, Evidence AssemblySecurity, RuntimeAssembly-ReqAssembly, StackCrawlMark & ​​StackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean fürReduktion, BooleanAdressen-0. System.Reflection.RuntimeAssembly.InternalLoad (String assemblyString, AngabensassemblySecurity, StackCrawlMark & ​​stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection) +77 System.Reflection.RuntimeAssembly.InternalLoad (String assemblyString, Evidence assemblySecurity, StackCrawlMark & ​​stackMark, Boolean forIntrospection) +16 System.Reflection.Assembly.Load (String assemblyString) +28 System.Web.Configuration.CompilationSection.LoadAssemblyHelper (String assemblyName, Boolean starDirective) +38

[ConfigurationErrorsException: Datei oder Assembly 'Newtonsoft.Json, Version = 6.0.1.0, Culture = neutral, PublicKeyToken = 30ad4fe6b2a6aeed' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Die Manifestdefinition der gefundenen Assembly stimmt nicht mit der Assemblyreferenz überein. (Ausnahme von HRESULT: 0x80131040)] System.Web.Configuration.CompilationSection.LoadAssemblyHelper (String assemblyName, Boolean starDirective) +752 System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory () +218 System.Web.Configuration.CompilationSection.LoadAssembly (AssemblyInfo ai) +130 System.Web.Compilation.BuildManager.GetReferencedAssemblies (CompilationSection compConfig) +170 System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies () +91 System.Web.Compilation.BuildManager.CallPreStartInitMethods (String preStartInitListPath, Boolean & isRefAssemblyLoaded) +285 System.Web.Compilation.BuildManager.ExecutePreAppStart () +153 System.Web.Hosting.HostingEnvironment.Initialize (ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameter-HostingParameter, PolicyLevel policyLevel, Ausnahme appDomainCreationException) +516

[HttpException (0x80004005): Datei oder Assembly 'Newtonsoft.Json, Version = 6.0.1.0, Kultur = neutral, PublicKeyToken = 30ad4fe6b2a6aeed' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Die Manifestdefinition der gefundenen Assembly stimmt nicht mit der Assemblyreferenz überein. (Ausnahme von HRESULT: 0x80131040)] System.Web.HttpRuntime.FirstRequestInit (HttpContext-Kontext) +9913572 System.Web.HttpRuntime.EnsureFirstRequestInit (Kontext HttpContext) +101 System.Web.HttpRuntime.ProcessRequestNotificationPrivate (IIS7WorkerRequest wr, Kontext HttpContext) +254

Versionsinformationen: Microsoft .NET Framework Version: 4.0.30319; ASP.NET-Version: 4.0.30319.18408

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.18408

179
noobieDev

Ok, ich glaube, ich habe es jetzt zum Laufen gebracht. Ich habe alle Newtonsoft.Json.dll auf meinem Rechner gelöscht, die nicht die neueste Version war, die ich finden konnte. Ich habe sichergestellt, dass ich die neueste Version in NuGet hatte Ich habe die Änderungen in der web.config und im .csproj gelassen. Jetzt bin ich an einem anderen Fehler, also muss es funktionieren ..

14
noobieDev

Um dieses Problem zu lösen, habe ich sichergestellt, dass alle meine Projekte dieselbe Version verwendet haben, indem Sie den folgenden Befehl ausführen und die Ergebnisse überprüfen:

update-package Newtonsoft.Json -reinstall

Und schließlich habe ich Folgendes aus meiner web.config entfernt:

  <dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
  </dependentAssembly>

Wenn Sie sicherstellen möchten, dass alle Newtonsoft.Json-Pakete die same -Version haben, können Sie die Version wie folgt angeben:

update-package Newtonsoft.Json -version 6.0.0 -reinstall
240
user1477388

Ich verwende Newtonsoft.Json v6.0.3, aber das musste ich in meiner Web.config-Datei tun:

<dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="6.0.0.0" />
</dependentAssembly>

Beachten Sie, dass ich newVersion="6.0.0.0" eingeben musste, obwohl ich 6.0.3 verwende.

In meiner packages.config-Datei habe ich:

<package id="Newtonsoft.Json" version="6.0.3" targetFramework="net45" />
77
CraigV

Ich habe folgendes versucht, nachdem ich bereits sichergestellt hatte, dass mein Computer an allen Standorten dieselbe Version hatte und meine Projekte alle auf denselben Referenzpfad verweisen. Ich hatte auch sichergestellt, dass die Bindung der alten Version ihre war und an die aktuelle Version von DLL gebunden war, die ich hatte.

Ich arbeite in einer Umgebung mit einem strengen Rahmen, und das Rahmenteam stört oft die Versionierung mit den verschiedenen DLLs.

Wie ich dieses Problem behoben habe, war die Ausführung der Paket-Manager-Konsole in Visual Studio (2013). Von dort habe ich den folgenden Befehl ausgeführt:

update-package Newtonsoft.Json -reinstall

gefolgt von 

update-package Newtonsoft.Json

Dadurch wurden alle meine Konfigurationsdateien und relevanten Projektdateien aktualisiert und aktualisiert. Erzwingen Sie alle zur gleichen Version der DLL. Welches war zunächst Version 4.5 vor dem Update nochmal, um die neueste Version zu erhalten.

54
Samuel

Ich hatte die gleiche Fehlermeldung und, wie Sie bereits erwähnt haben, es war auf verschiedene Versionen der Datei Newtonsoft.Json.dll verwiesen worden.

Einige Projekte in meiner MVC-Lösung verwendeten das NuGet-Paket für Version 4 dieser DLL.

Ich fügte dann ein NuGet-Paket hinzu (in meinem Fall für Salesforce), das Newtonsoft.Json Version 6 als Abhängigkeit zu einem der Projekte mitbrachte. Das löste für mich das Problem aus.

Um die Dinge zu bereinigen, habe ich den Abschnitt Updates im NuGet Package Manager für die Lösung verwendet (im Menü Extras oder Rechtsklick auf Lösung), um das Json.Net-Paket in der gesamten Lösung zu aktualisieren, sodass es für alle Projekte dieselbe Version hatte.

Danach habe ich nur die App Config-Dateien überprüft, um sicherzustellen, dass alle verbindlichen Weiterleitungszeilen zu meiner ausgewählten Version (siehe unten) geführt werden.

<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
25
S__

Ich habe die Schritte von Oleg ausprobiert, und sie haben für meine gleiche Situation gearbeitet.

Schritte:

  1. Führen Sie update-package Newtonsoft.Json -reinstall im Paket-Manager aus.

  2. Löschen Sie Ihre bin, indem Sie die versteckten Dateien anzeigen und den Ordner bin löschen.

  3. Schließen Sie Ihr Visual Studio und öffnen Sie es erneut.

  4. Führen Sie jetzt Ihr Projekt erneut aus. Ich glaube es sollte in Ordnung sein!

4
Matthew Cavallo

Was mir wirklich geholfen hat, war das Deaktivieren von Resharper build und die Verwendung der Option Visual Studio Rebuild für mein Projekt.

3
Shaulian

In meinem Fall ging es nur um:

Tools -> NuGet Package Manager -> Package Manager Settings -> Clear Cache

Das Problem wurde verursacht, als ich einen TFS-Ordner neu zugeordnet habe.

3
daniloquio

Durch Auskommentieren dieses Teils in meiner web.config wurde mein Problem gelöst:

<dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>

Natürlich müssen Sie jedoch sicherstellen, dass Sie eine Aktualisierung vorgenommen haben, oder Sie haben die richtige Version, indem Sie dies in Ihrer Package Manager-Konsole tun:

update-package Newtonsoft.Json -reinstall
3
Willy David Jr

Sie können das Problem lösen, indem Sie in der Datei web.config unten stehende Zeilen hinzufügen.

 <runtime>
    <assemblyBinding xmlns="urn:schemas-Microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
        <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
3

wenn Sie mit einer Art Subversion arbeiten: Das Projekt löschen und erneut herunterladen, hat es für mich funktioniert: S

2
ch2o

Ich löste es, indem ich die untere Version von Newtonsoft.json.dll im Ordner bin entferne und Newtonsoft.json.dll V6.0.0.0 hinzufügte und die folgenden web.config-Elemente entfernte

<dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed"/>
    <bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="5.0.8"/>
</dependentAssembly>
1
user2017678

Ich weiß nicht warum, aber in meinem Fall kopierte ich die alte Version von newtonsoft.json, selbst wenn ich den Ordner bin aus dem Projekt entferne, kopierte ich die alte Version von newtonsoft.json.

1
mesut

von Tools >> NuGet Package Manager >> Paket für Lösung verwalten Aktualisieren Sie Newtonsoft.Json aller Lösungen auf die neueste Version

1
Goda Kotb

Keine der Antworten, einschließlich der geprüften, funktionierte nicht für mich. 

Die Lösung war weitaus einfacher. Ich habe zuerst die Referenzen von meiner BUS-Schicht entfernt. Dann löschten Sie die DLLs aus dem Projekt (um sicherzustellen, dass sie weg sind), und installieren Sie anschließend JSON.NET von Nuget Packeges erneut. Und der knifflige Teil war "Abschalten und wieder einschalten". 

Ich habe gerade Visual Studio neu gestartet, und da hat es funktioniert!

Wenn Sie also alles Mögliche versuchen und das Problem immer noch nicht lösen können, versuchen Sie einfach, Visual Studio aus- und wieder einzuschalten. Dies kann hilfreich sein.

1
Zafer Sernikli

Wenn Sie Ihre Ordner Bin und Obj löschen, wird dieses Problem in einigen Fällen behoben. 

1
Ivan Ruski

Wenn dies nicht der Fall ist, überprüfen Sie bitte diese Antwort:

https://stackoverflow.com/a/12011221/150370

(TL; DR: Entfernen Sie den XML-Namespace vom Tag configuration in Ihrer Konfigurationsdatei. Andernfalls werden Bindungsumleitungen ignoriert.)

1
German Latorre

Ich habe das gleiche Problem mit Dotnet Core bekommen und es geschafft, es durch Löschen des NuGet-Cache zu beheben.

Öffnen Sie die Powershell und geben Sie den folgenden Befehl ein.

dotnet nuget locals all --clear

Dann habe ich Visual Studio geschlossen, wieder geöffnet und den folgenden Befehl in die Package Manager Console eingegeben:

Update-Package

NuGet sollte jetzt alle Pakete wiederherstellen und den Nuget-Cache erneut öffnen.

Danach konnte ich meine dotnet core webapi in einem Linux-Container erstellen und starten.

1
datoml

Ich hatte das gleiche Problem in einem Testprojekt, das einen Bezug zu einem MVC 5-Projekt hatte. Dies geschah, nachdem ich mich mit einem MVC 5-Projekt zusammengeschlossen hatte. Ich habe das Problem behoben, indem ich Visual Studio 2012-Updates installierte, wie hier in Andres Antwort.

  • In Ihrem visuellen Studio gehen Sie zu
    1. Extras> Erweiterungen und Updates
    2. Wählen Sie links in der Akkordeonliste "Updates" aus.
    3. Wählen Sie "Produktupdates".
    4. Aktualisieren Sie auf die neueste Version
1
Michael Kassa

Keine dieser Optionen hat für mich funktioniert, am Ende war es;

Test> Testeinstellungen> * .testrunconfig

Ich musste eine neue Zeile hinzufügen

<DeploymentItem filename="packages\Newtonsoft.Json.4.5.8\lib\net40\Newtonsoft.Json.dll" />

Stellen Sie sicher, dass der Pfad und die Version für Ihr Setup korrekt sind.

0
Daniel Haselden

Hier ist meine Lösung für dieses Problem. Stellen Sie sicher, dass die Versionsnummer in appconfig oder packageconfig mit der Referenzversion in Ihren Referenzen übereinstimmt. __ Siehe hier

0
user5093161

Ich hatte das Problem aus einem anderen Grund und habe es gelöst. Es hat während des Debugs funktioniert, aber es hat nicht funktioniert, als ich es kopiert habe. weil "exename.config" im Erstellungsordner fehlschlägt, wenn Sie es löschen

0
hepter

Alles klar, ich denke, ich füge meine Antwort hier zu dieser langen Liste hinzu, anstatt eine doppelte Frage zu erstellen ...

Wenn Sie dies 2019 mit .NET Core 3.0 (Vorschau zu diesem Zeitpunkt) erhalten, besteht die Lösung darin, sicherzustellen, dass alle Projekte auf dieselbe .NET Core-Version abzielen (in meinem Fall 3.0). Ich glaube, ich hatte ein Projekt in der Lösung für 2.1 und der Rest war 2.2, also hätte ich wahrscheinlich bei 2.2 bleiben können ...

Ich habe nicht einmal Newtonsoft.Json in einem der Projekte installiert, und natürlich hat das Hinzufügen zu ihnen das Problem nicht behoben.

Wenn Ihre Lösung .NET Standard-Klassenbibliotheken oder w/e enthält, müssen diese nicht dieselbe Version aufweisen, obwohl sie wahrscheinlich die neueste sein sollten, die Sie verwenden können. Beispielsweise befinden sich meine .NET Standard-Klassenbibliotheken in Version 2.2, da es noch keinen .NET Standard 3.0 gibt.

0
jspinella

Ich hatte genau das gleiche Problem und die Standardbibliothek von Visual Studio 13 war für mich 4.5, daher habe ich 2 Lösungen, in denen die Referenz in der Datei webconfig enthalten ist. Das ist ein letzter Ausweg und es funktioniert.

In der Fehlermeldung wird angegeben, dass an dieser Stelle ein Problem aufgetreten ist /Projects/foo/bar/bin/Newtonsoft.Json.DLL. wo ist die DLL! Eine grundlegende Überprüfung der Eigenschaften gab an, dass es sich um Version 4.5.0.0 oder ähnliches handelte. Daher habe ich die Webkonfiguration so geändert, dass sie bis 4.5 und 4.5 verwendet.

0
Mcole1976

Ich traf dieses Problem, weil ich hatte: Projekt A (eine Desktop-EXE-Datei) verweisen auf Projekt B (eine portable DLL). A & B hatte verschiedene Versionen von JSON.Net und somit gab es einen Laderkonflikt. Nachdem ich alle Versionen von JSON.net gleich gemacht hatte, funktionierte es. (Dies ist in der Tat einige der oben genannten Lösungen - ich rufe nur an, warum es funktioniert.)

0
Mike S

Ich hatte das gleiche Problem. Ich habe ein Web-API-Projekt erstellt und dann ein Upgrade von .net 4.5.1 auf .net 4.6.1 durchgeführt. Das Schließen der IDE, das Beenden von IIS und das Löschen von Inhalten des Verzeichnisses C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporäre ASP.NET-Dateien\dir hat das Problem behoben.

HTH

die Lösung, die mein Problem dafür gelöst hat, ist

gehe zu Referenzen-> Rechtsklick auf Newtonsoft.json - gehe zu Eigenschaften und überprüfe die Version

die gleiche Version sollte in sein

<dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-YourDllVersion" newVersion="YourDllVersion" />
</dependentAssembly>
0
Er.Imran Shaikh

Ich habe mit diesem kürzlich mit einem älteren Projekt zu kämpfen.

Ich konnte das Problem aufspüren, nachdem ich herausgefunden hatte, welche Version der DLL sich tatsächlich im Ordner bin befand.

Ich hatte ein Post-Build-Skript, das abhängige Assemblys aus einem DLL-Bibliotheksordner in den Bin-Ordner kopierte. Ein gemeinsames Setup aus den Tagen vor Nuget.

Jedes Mal, wenn ich das Post-Build-Skript erstellte, wurde die korrekte Version von Json.net durch die ältere ersetzt

0
Fredrik Stolpe

In meinem Fall war die Fehlermeldung " Version 6.0.0 ", aber diese Version kann nicht installiert werden. Daher installierte ich die " 6.0.1 Version " in meinem Projekt und löste mein Problem Problem.

install-package Newtonsoft.Json -Version 6.0.1 -Project MyProjectX
0
Fabricio Leite

Dieses Problem wurde für mich nicht durch Aktualisieren von NuGet-Paketen oder durch Ausführen eines "Clean" für das Projekt gelöst. Es wurde gelöst, indem der Ordner "obj" manuell gelöscht wurde. 

0

Einfache Schritte . (1) Führen Sie das "Update-Paket Newtonsoft.Json -reinstall" im Paket-Manager aus.

(2) Löschen Sie Ihre Ablage, indem Sie die versteckten Dateien anzeigen und den Ablageordner löschen.

(3) Schließen Sie Ihr Visual Studio und öffnen Sie es erneut.

(4) Führen Sie jetzt Ihr Projekt erneut aus. Ich glaube, es sollte in Ordnung sein

0

mein Problem war, dass die neue Version in diesem Code in web.config nicht korrekt war

<dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.1.0" />

sie können die Version des Newtonsoft.Json-Pakets im Paket-Manager von nuget sehen und verwenden.

0
rzb