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.
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.
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.
Hm ... Ich hatte etwas Ähnliches mit der gleichen Fehlermeldung.
In meinem Fall habe ich die Version der Baugruppen manuell aktualisiert.
In der referenzierten Assembly hatte ich eine andere Version ...
Also habe ich es in der web.config aktualisiert.
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.
Ich hoffe, dass jemand anderes, der sich diesem Problem stellt, dies hilfreich findet.
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.
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.
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>
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);
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.