wake-up-neo.com

Datei oder Assembly 'Newtonsoft.Json' oder eine ihrer Abhängigkeiten konnte nicht geladen werden

Erstens ist es nicht nur ein Duplikat. Keine der Antworten aus folgenden Fragen funktioniert für mich.

http://goo.gl/tS40cn
http://goo.gl/pH6v2T

Ich habe gerade alle meine Pakete mit Nuget Package Manager aktualisiert und bekam diese Fehlermeldung.

Datei oder Assembly 'Newtonsoft.Json, Version = 6.0.0.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)

Mein Paket Config hat:

<package id="Newtonsoft.Json" version="7.0.1" targetFramework="net45" />

Web.config enthält diesen Code:

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

Eigenschaften aus Referenz für Newtonsoft.Json

 enter image description here

Entsprechend den Antworten aus den ähnlichen Fragen habe ich folgendes versucht:

  • Paket mit Update-Package –reinstall Newtonsoft.Json erneut installieren
  • dependentAssembly config von Web.config für Newtonsoft.Json entfernen
  • Ändern von newVersion in 6.0.0.0 und 7.0.0.0 in dependentAssembly. Dadurch entstand ein neuer Fehler.
  • Auch versucht Get-Project -All | Add-BindingRedirect. Es ändert newVersion für Newtonsoft.Json in 4.5.0.0. Das Problem bleibt jedoch ungelöst.

Bitte helfen Sie mir, das Problem zu beheben.

10
shashwat

Ich weiß, das ist alt, aber ich bin gerade auf das gleiche Problem gestoßen. Mein Problem war, dass mehrere Projekte in der Lösung Newtonsoft.Json verwendeten, aber einige waren in unterschiedlichen Versionen. Ich habe alle auf den neuesten Stand gebracht (9.0.1 bei der Eingabe), und das Problem wurde behoben.

Auf jeden Fall ... Wenn sich noch jemand damit beschäftigt, aktualisieren Sie das Paket in JEDEM Projekt in der Lösung.

HTH

12
Casey Crookston

Nachdem ich viele der obigen (und einige andere Beiträge) ausprobiert hatte, deinstallierte ich mit dem Paketmanager alle folgenden Elemente aus dem betroffenen Projekt:

Microsoft.AspNet.WebApi
Microsoft.AspNet.Client
Microsoft.AspNet.Core
Microsoft.AspNet.WebHost
Newtonsoft.Json

Anschließend installierte Microsoft.AspNet.WebApi erneut. Anschließend wurden automatisch .Client, .Core, .WebHost, .Json installiert. 

2
Kenmeister

Hinzufügen von Newtonsoft-Referenz in meinem MVC-Projekt löst das Problem für mich.

2
Zafar

Ich hatte diesen Fehler selbst und habe zuerst Update-Package –reinstall Newtonsoft.Json -IncludePrerelease verwendet, es hat nicht funktioniert, dann habe ich Install-Package Newtonsoft.Json verwendet. es funktionierte.

1
samira riazati

Update-Package Newtonsoft.Json -Reinstall ausführen

Es sollte den Verweis auf Ihre Version 4.5 entfernen und die neuere Version erneut installieren, auf die in package.config verwiesen wird. Es wird auch die Bindungsumleitung aktualisiert, die dann wie folgt aussehen sollte:

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

Da Sie in Ihrer Frage gesagt haben, dass Sie dies bereits ausprobiert haben, möchten Sie zuerst versuchen, die vorhandene Referenz manuell zu entfernen. Möglicherweise möchten Sie auch sicherstellen, dass die Dateien nicht schreibgeschützt sind oder anderweitig von der Quellcodeverwaltung gesperrt sind.

1
Matt Johnson

Überprüfen Sie die 'Newtonsoft.Json'-Version in den Projektverweisen. Fügen Sie diese Version in der Web-Konfiguration hinzu. Es wird funktionieren. Zum Beispiel:. Ihr Webconfig sieht folgendermaßen aus:

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

Wenn Ihre Version in References '9.0.0.0' ist.

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

In meinem Fall war der folgende Code in meiner lokalen Debug-Version der Lösung enthalten, nicht jedoch in meiner Live-Server-Version des Codes. Durch Hinzufügen des Codes zu meiner Server-Datei Web.config wurde das Problem behoben.

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

0
Versatile

führen Sie diesen Befehl in der Paket-Manager-Konsole aus:

PM> Install-Package Newtonsoft.Json -Version 6.0.1
0
codeWorm
  1. Entfernen Sie in Ihrem VS Solution Explorer die Referenz Newtonsoft.Json.
  2. Laden Sie die 6.0-Binärdateien bei Newtonsoft-Binärdateien herunter hier
  3. Extrahieren Sie die Dateien
  4. Fügen Sie die Newtonsoft-Bibliothek manuell hinzu. Klicken Sie in Visual Studio mit der rechten Maustaste auf Verweis und wählen Sie Verweis hinzufügen
  5. Klicken Sie auf Durchsuchen
  6. Navigieren Sie zu den extrahierten Dateien unter Net45 und wählen Sie Newtonsoft.Json.dll aus
  7. Wenn dies nicht funktioniert, verwenden Sie Net40 stattdessen, indem Sie die gesamte Prozedur erneut durchlaufen.
0
Ronald Ramos

Ändern Sie die Konfiguration wie unten beschrieben:

0
Ash18