Benutzer mit den meisten Antworten
Fehlermeldung

Frage
-
Hi Leute,
ich habe mein Projekt C# vom Computer auf mein Notebook kopiert und bekomme jetzt beim starten im Visual Studio diese Fehlermeldung:
Exception Die Datei oder Assembly "MySql.Data, Version=6.3.6.0, Culture=neutral, PublicKeyToker=c5687fc88969c44d"
oder eine Abhänigkeit davon wurde nicht gefunden. Die gefundene Manifestdefinition der Assemply stimmt nicht mit dem Assemblyverweis überein. (Ausnahme von HRESULT: )Hat jemand eine Idee woran es liegen könnte?
Antworten
-
Hallo C.,
Oliver hat schon beschrieben, es fehlt etwas an der Installation.
Entscheidend ist hier allerdings der .NET-Connector 6.3.6:
[Connector/Net 6.3.6]
http://dev.mysql.com/downloads/connector/net/6.3.html#downloadsDieser beinhaltet die "MySql.Data.dll" und installiert sie in den GAC.
Genauer gesagt, normalerweise an die Stelle:
"%windir%\Microsoft.Net\assembly\GAC_MSIL\MySql.Data\v4.0_6.3.6.0__c5687fc88969c44d\MySql.Data.dll".
Un der Typname, der in Deiner Meldung nicht gefunden wurde, entspricht dieser DLL.Nun ist zum einen ein kleiner Fehler in Deinem Assembly Namen:
PublicKeyToker=c5...
PublicKeyToken=c5...________
daran könnte es evtl. auch liegen, aber nehmen wir mal an, das wäre nur ein Schreibfehler, dann könnte ggf. die Installation des ".NET Connectors" das Problem lösen. Wenn man dann folgendes ausführt, sollten dem folgenden Code entsprechende Ergebnisse angezeigt werden:
Assembly mySqlDataAssembly = typeof(MySqlDataAdapter).Assembly; string mySqlAssemblyName = mySqlDataAssembly.FullName; // "MySql.Data, Version=6.3.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" string mySqlAssemblyOrt = mySqlDataAssembly.Location; // %windir%\Microsoft.Net\assembly\GAC_MSIL\MySql.Data\v4.0_6.3.6.0__c5687fc88969c44d\MySql.Data.dll
_________
Weitere Möglichkeiten oft auch über:
[Fuslogvw.exe (Assembly Binding Log Viewer-Tool)]
http://msdn.microsoft.com/de-de/library/e74a18c4.aspx[MySql connector version 6.3.6 not loading - WinHost Forums]
http://forum.winhost.com/showthread.php?t=8536
ciao Frank
- Als Antwort markiert ColleMonster Montag, 30. Mai 2011 20:05
Alle Antworten
-
Hallo C.,
Oliver hat schon beschrieben, es fehlt etwas an der Installation.
Entscheidend ist hier allerdings der .NET-Connector 6.3.6:
[Connector/Net 6.3.6]
http://dev.mysql.com/downloads/connector/net/6.3.html#downloadsDieser beinhaltet die "MySql.Data.dll" und installiert sie in den GAC.
Genauer gesagt, normalerweise an die Stelle:
"%windir%\Microsoft.Net\assembly\GAC_MSIL\MySql.Data\v4.0_6.3.6.0__c5687fc88969c44d\MySql.Data.dll".
Un der Typname, der in Deiner Meldung nicht gefunden wurde, entspricht dieser DLL.Nun ist zum einen ein kleiner Fehler in Deinem Assembly Namen:
PublicKeyToker=c5...
PublicKeyToken=c5...________
daran könnte es evtl. auch liegen, aber nehmen wir mal an, das wäre nur ein Schreibfehler, dann könnte ggf. die Installation des ".NET Connectors" das Problem lösen. Wenn man dann folgendes ausführt, sollten dem folgenden Code entsprechende Ergebnisse angezeigt werden:
Assembly mySqlDataAssembly = typeof(MySqlDataAdapter).Assembly; string mySqlAssemblyName = mySqlDataAssembly.FullName; // "MySql.Data, Version=6.3.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" string mySqlAssemblyOrt = mySqlDataAssembly.Location; // %windir%\Microsoft.Net\assembly\GAC_MSIL\MySql.Data\v4.0_6.3.6.0__c5687fc88969c44d\MySql.Data.dll
_________
Weitere Möglichkeiten oft auch über:
[Fuslogvw.exe (Assembly Binding Log Viewer-Tool)]
http://msdn.microsoft.com/de-de/library/e74a18c4.aspx[MySql connector version 6.3.6 not loading - WinHost Forums]
http://forum.winhost.com/showthread.php?t=8536
ciao Frank
- Als Antwort markiert ColleMonster Montag, 30. Mai 2011 20:05
-
Hallo C.,
Schau mal zur Sicherheit im GAC nach, ob sich dort keine Bibliothek befindet, die mit der Version der referenziierten Bibliothek im Konflikt steht. Oft stehen dort Herausgeberrichtlinien, welche die Bindung auf eine bestimmte Assemblyversion umleiten.
Global Assembly Cache:
http://msdn.microsoft.com/de-de/library/yf1d93sz(v=VS.100).aspxSo sucht Common Language Runtime nach Assemblys:
http://msdn.microsoft.com/de-de/library/yx7xezcf(v=VS.100).aspxDefinitiven Einblick erhältst Du über fuslogvw.exe, die Dir zeigt, an welche Assemblies gebunden wird bzw. warum an bestimmte Assemblies nicht gebunden werden kann:
Fuslogvw.exe (Assembly Binding Log Viewer-Tool):
http://msdn.microsoft.com/de-de/library/e74a18c4(v=VS.100).aspxGruß
Marcel
-
> VIELEN DANK AN ALLE!
Gern.> Der .NET-Connector war es!
Jein.
Die Meldung "Die gefundene Manifestdefinition der Assemply stimmt nicht mit dem Assemblyverweis überein" weist darauf hin, dass eine vorherige Version des .NET Connectors bereits installiert war.
Damit Du verstehst, wie es dazu kam, noch einige Details: Deine Assembly wurde gegen die Version 6.3.6.0 kompiliert. Bei der Ausführung versuchte .NET aber die Bindung gegen die im GAC vorhandene Assembly (z.B. MySql.Data 6.0.3.0) herzustellen, was dann Aufgrund der falschen Version fehlschlug. Natürlich behob dann die Neuinstallation der neuen Connector-Version das Problem... -
Hallo C.,
- Der .NET-Connector war es!
ja.
Freut mich, dass es jetzt funktioniert.
Hier detaillierte Hintergründe, warum und wann dieser Typus von Fehlermeldung auftaucht:[The located assembly's manifest definition with name xxx.dll does not match the assembly reference - Junfeng Zhang's Windows Programming Notes - Site Home - MSDN Blogs]
http://blogs.msdn.com/b/junfeng/archive/2004/03/25/95826.aspx
ciao Frank