An unhandled exception of type 'System.IO.FileLoadException' occurred in WindowsFormsApplication4.exe
Additional information: Could not load file or assembly 'MySql.Data, Version=8.0.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' or one of its dependencies. Strong name validation failed. (Exception from HRESULT: 0x8013141A)
Information:
- Visual Studio 2015
- Windows-10 - x64
- C#
- MySQL 6.9. 9
Problem:
ich eine Klassenbibliothek mit MySQL gemacht habe verschiedene Anfragen an meine Online-Datenbank auszuführen.
Nachdem die DLL in meinem eigenen Projekt, einschließlich der einzigen Zeile Code Ich verwende ist die folgende: (was die Ausnahme auf Würfe)
// Runs a simple select statement to find matches for 'John Doe' in my online MySQL database table... and stores results to a dataset
DataSet ds = MyDllNameSpace.Database.People.Load("John", "Doe");
App.Config Dateien:
My-dLL-Projekt: (ich habe dieses Projekt nicht unterschreiben)
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=8.0.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data></configuration>
Mein separ aß Projekt: (Ich habe dieses Projekt nicht unterschreiben)
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.8.0" newVersion="8.0.8.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Was ich habe gesucht/versucht:
- stellte sicher, dass die gleiche Version von MySQL in beiden Projekten verwenden
- Setzen Sie die DLL auf meine Bibliothek und MySQL in den Ordner Bin meines separaten Projekts und fügen Sie sie als Referenz
- Auch versucht, beide dlls meiner Bibliothek und MySQL zu den separ hinzufügen ate Projekt und Auswahl "immer kopieren"
- Ändern der App.config-Datei (vorausgesetzt, das Problem ist hier drin?)
- Zuletzt habe ich versucht, sowohl das DLL-Projekt und das Projekt mit der DLL mit dem gleichen Passwort zu signieren (Überprüfung unterschreiben die Versammlung). Dies hat auch nichts bewirkt. :(
Danke
** Nach Stunden des Versuchens, das Problem herauszufinden ... es stellt sich heraus, es war wegen der Verwendung der neuesten Prelease ver sion von MySql.Data im Paket-Manager.Nach dem Wechsel auf die neueste STABLE-Version funktionierte alles einwandfrei. ** –