wake-up-neo.com

Konnte Datei oder Assembly System.Data.SqlClient, Version = 4.2.0.2 nicht laden, wenn ich System.Data.SqlClient Version 4.4.3 verwende

Ich verwende System.Data.SqlClient Version 4.4.3 für alle .NET Standard 2.0-Klassenbibliotheken in meinem ASP.NET Core 2.0-Projekt. Warum bekomme ich? 

Datei oder Assembly 'System.Data.SqlClient, Version = 4.2.0.2, Kultur = neutral, PublicKeyToken = b03f5f7f11d50a3a' wurde nicht geladen. Die Manifestdefinition der gefundenen Assembly stimmt nicht mit der Assemblyreferenz überein. (Ausnahme von HRESULT: 0x80131040) 

wenn das Projekt mit VSTS in Azure App Service veröffentlicht wird? Und natürlich funktioniert es perfekt auf meiner Maschine!

Das alles hat gestern funktioniert. Aber heute habe ich beschlossen, Pakete zu aktualisieren:

<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.3" />
6
alvipeo

Abgestuft auf 

<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6" />

und alles funktioniert wieder! Heute 4 Stunden verloren !!!

2
alvipeo

Ich weiß nicht, ob dies die gleiche Situation ist, der ich begegnet bin ... Ich habe System.Data.SqlClient über nuGet hinzugefügt und es hat gut funktioniert.

7
Watz

Ich hatte heute ein ähnliches Problem. Ich habe eine Reihe von Paketen, einschließlich des Alle-Metapakets, auf 2.0.6 aktualisiert. Meine App würde dann nicht funktionieren und den obigen Fehler zitieren. Nach langer Untersuchung habe ich folgendes getan und es scheint jetzt zu funktionieren.

Stellen Sie über FTP eine Verbindung zur Azure-Website her, und navigieren Sie zum Ordner Site -> wwwroot. Hier hatte ich einen Ordner namens "refs" und einen weiteren namens "Runtimes". Ich löschte beide Ordner (nachdem ich ein lokales Backup erstellt hatte), veröffentlichte meine App erneut und es funktionierte!

Ich bin mir nicht sicher, warum es funktioniert hat, aber ich dachte, das könnte nützlich sein, wenn jemand mit einem ähnlichen Problem darüber stolpert.

0
Adam Stapleton

Dies ist der Fall, wenn einige abhängige Assembly alte Versionen derselben Bibliothek verwendet .. Um dies zu lösen, können Sie Assembly umleiten verwenden, um zu erzwingen, dass die alte Bibliothek eine neuere Version verwendet.

setzen Sie dies in Ihre app.config oder in web.config für asp.net ein

<dependentAssembly>  
    <assemblyIdentity name="System.Data.SqlClient"  publicKeyToken="b03f5f7f11d50a3a"  culture="neutral" />  
    <bindingRedirect oldVersion="4.2.0.2" newVersion="4.4.3.0" />  
</dependentAssembly>  
0
Davit Tvildiani

Für mich entfernte die Lösung das Paket System.Data.SqlClient und installierte es erneut. Die Aktualisierung des Pakets war nicht ausreichend.

0
IronRod