it-swarm-eu.dev

Die Manifestdefinition der gefundenen Assembly stimmt nicht mit der Assemblyreferenz überein. (Ausnahme von HRESULT: 0x80131040)

Nachdem ich die Baugruppen von Drittanbietern unterschrieben und zu GAC hinzugefügt habe, erhalte ich den folgenden Fehler: Auch der Assembly Binder Log-Eintrag zeigt diesen Fehler

Es sagt, dass nicht übereinstimmende Assemblies nicht sicher sind, wie Mistnaching, da ich alle obj und bin fold gelöscht und die Anwendung stapelweise erstellt und die dlls reimportiert habe.

 Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable  C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\11.0\WebDev.WebServer40.exe

--- A detailed error log follows. 
=== Pre-bind state information ===
LOG: User = AKBARCA\user

LOG: DisplayName = ClubStarterKit.Core, Version=3.0.1.0, Culture=neutral, PublicKeyToken=null
 (Fully-specified)

LOG: Appbase = 

file:///C:/Users/user/Desktop/NhibernateMediumTrust/NhibernateMediumUpgrade/direct/clubstar

terkit v3 preview/ClubStarterKit.Web/

LOG: DEVPATH = C:\ProgramData\Red Gate\.NET Reflector\DevPath

LOG: Initial PrivatePath = 

C:\Users\user\Desktop\NhibernateMediumTrust\NhibernateMediumUpgrade\direct\clubstarterkit v3 preview\ClubStarterKit.Web\bin
Calling Assembly : ClubStarterKit.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.
12
lioni jordan

Nach meiner Erfahrung geschieht dies normalerweise, sobald Sie Ihre App veröffentlicht haben und verschiedene Versionen von Nuget-Paketen im Spiel sind. Wenn dies auch Ihre Situation ist, klicke ich am besten auf die Lösung (nicht die einzelnen Projekte) und wähle "Nuget-Pakete verwalten". Suchen Sie dann die fehlerhafte Assembly in den installierten Paketen. Sie werden es wahrscheinlich mehrmals aufgelistet sehen. Klicken Sie in jeder der älteren Versionen des Pakets auf "Verwalten" und deaktivieren Sie alle Ihre Projekte. Einmal bleibt nur die neueste Version des Pakets in der Liste. Klicken Sie auf "Verwalten" und überprüfen Sie alle Projekte, die das Paket benötigen. Dies führt im Wesentlichen dazu, dass alle aktualisiert werden, um dieselbe Version des Pakets zu verwenden, und sollte Ihren Nichtübereinstimmungsfehler beheben.

31
Chris Pratt

Ich stand vor einem ähnlichen Problem. In meinem Fall hatte ich mehrere Projekte in meiner Lösung. 

Eines der Projekte bezog sich auf EntityFramework 4.0 und dieses Projekt wurde in einem anderen Projekt verwiesen, das auf EntityFramework 5.0 verwies. Ich brachte sie in Synchronisation und das Problem kam weg.

5
Brij

Hm ... Ich hatte etwas Ähnliches mit der gleichen Fehlermeldung.

In meinem Fall habe ich die Version der Baugruppen manuell aktualisiert.

The error message

In der referenzierten Assembly hatte ich eine andere Version ...

Also habe ich es in der web.config aktualisiert.

Properies of the DLL

Das hat mein Problem gelöst.

Ihr === Pre-bind state information === scheint unvollständig zu sein ..__ Im Allgemeinen zeigt er die Ausführung und die letzte Zeile zeigt den Fehler, sodass wir nur helfen können, unsere Erfahrungen zu teilen.Last line of the LOG info

Ich hoffe, dass jemand anderes, der sich diesem Problem stellt, dies hilfreich findet.

3
Lincoln Pires

In meinem Fall tritt der Fehler auf, wenn die in web.configs <bindingRedirect> der abhängigen Assembly (z. B. Newtonsoft.Json) angegebene Version nicht der Version entspricht, die sich tatsächlich im Ordner bin befindet. Sobald die Versionsnummer in der Datei web.config aktualisiert wurde, ist das Problem behoben.

screenshot of web.config

2
C. Deng

Als ich dieses Problem in der Vergangenheit erlebte, löschte ich alle DLLs meines Projekts aus dem GAC, baute die Lösung neu auf, tat dann iisreset und es wurde gelöst.

1
bresleveloper

Ich hatte einen anderen Grund: In meinem Fall hatte ich zuvor verschiedene Versionen von Nuget-Paketen verwendet, und ich hatte einen app.config, der aus irgendeinem Grund automatisch mit dieser Art von Inhalt generiert wurde:

  <dependentAssembly>
    <assemblyIdentity name="Microsoft.Extensions.DependencyInjection" publicKeyToken="adb9793829ddae60" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-1.1.1.0" newVersion="1.1.1.0" />
  </dependentAssembly>

Ich hatte also nur Version 1.1.0.0 installiert, aber aufgrund dieser Umleitungsanweisung wurde nach 1.1.1.0 gesucht, obwohl in Visual Studio das Nuget für 1.1.0.0 installiert war. Durch die Änderung der neuen Version auf 1.1.0.0 wurde alles behoben:

  <dependentAssembly>
    <assemblyIdentity name="Microsoft.Extensions.DependencyInjection" publicKeyToken="adb9793829ddae60" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-1.1.1.0" newVersion="1.1.0.0" />
  </dependentAssembly>
0
iJungleBoy

Ich habe diesen Fehler mit FASTjson:

_jsonConfig = fastJSON.JSON.ToObject<jsonConfig>(jsonConfigFileContents);

Es ist in dieser Zeile fehlgeschlagen:

Type t = Type.GetType(typename);

Wodurch wird eine Ausnahme in System.RuntimeTypeHandle.GetTypeByName verursacht


Das Problem war ein Unterschied in der JSON-Datei im Vergleich zum JSON-Objektmodell.

Die Lösung besteht darin, erneut zu speichern das JSON-Objektmodell zu speichern, z.

string jsonSettings = fastJSON.JSON.ToJSON(JSONObjectModel);
File.WriteAllText(JSONFilePath, jsonSettings);
0
Jeremy Thompson

Eine Möglichkeit, dies zu lösen, könnte unter "Verwalten von NuGet-Paketen für Lösung" durch Klicken mit der rechten Maustaste in den Lösungs-Explorer erfolgen. Gehen Sie dort zu "Consolidate" und suchen Sie das Paket, das die Probleme verursacht. Stellen Sie sicher, dass alle Projekte in der Lösung dieselbe Version verwenden. 

 enter image description here

0
Mauro Bilotti