none
Fehlermeldung RRS feed

  • 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?

    Montag, 30. Mai 2011 15:21

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#downloads

    Dieser 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
    Montag, 30. Mai 2011 19:43

Alle Antworten

  • Hallo,

    bist Du den sicher, dass Du MySql auf deinen Notebook installiert hast und wenn ja auch die richtige Version?

    Schöne Grüße

    Oliver

    Montag, 30. Mai 2011 15:45
  • Die dll ist die gleiche wie vom Computer. Ich habe die dll über Projekt --> Verweis hinzufügen hinzugefügt.
    Montag, 30. Mai 2011 17:16
  • 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#downloads

    Dieser 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
    Montag, 30. Mai 2011 19:43
  • 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).aspx

    So sucht Common Language Runtime nach Assemblys:
    http://msdn.microsoft.com/de-de/library/yx7xezcf(v=VS.100).aspx

    Definitiven 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).aspx 

    Gruß
    Marcel



    Montag, 30. Mai 2011 19:46
    Moderator
  • Der .NET-Connector war es!

     

    VIELEN DANK AN ALLE!

    Montag, 30. Mai 2011 20:06
  • > 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...

    Dienstag, 31. Mai 2011 06:10
    Moderator
  • 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
    Dienstag, 31. Mai 2011 07:41
  • > Hier detaillierte Hintergründe, warum und wann dieser Typus von Fehlermeldung auftaucht [...]

    Genau ;-)

    Dienstag, 31. Mai 2011 07:45
    Moderator
  • Schön dass es Leute gibt, die diese Meldungen verstehen! :D

    Dienstag, 31. Mai 2011 10:54