Hallo, ich hoffe dass ich den richtigen Ordner erwischt habe.
Aktuell arbeite ich mit Visual Studio 19. Die Projekte sind ein paar Tage älter und für .NET Framework 4.8 erstellt.
Heute habe ich ein neues Projekt begonnen. Als ich so weit war dass ich auf die MySQL Datenbank zugreifen konnte, kam die böse Überraschung: Der MySQL Connector meldet den Fehler:
The type initializer for MySQL.Data.MySQLClient.MySqlConnectAttrs threw an exception.
Dann habe ich bemerkt dass das neue Projekt für .NET 5.0 ist, ich aber nicht auf .NET Framework 4.8 umschalten kann. Ich habe zuerst den aktuellen Connector/NET 8.023 installiert, da die bisher installierte Version nicht für .NET 5.0 kompatibel ist, aber die Fehlermeldung verschwindet nicht.
Bei "neues Projekt" gibt es die Möglichkeit "WPF-Anwendung" (was ich gewählt hatte) und "WPF-App" (wo ich das ältere Framework nutzen kann).
Ich würde ja gern die neuesta Technologie verwenden, aber wie kann ich dann auf MySQL zugreifen?
Oder muss ich tatsächlich alles noch einmal als WPF-App neu zusammenklicken?
Danke - Günther
Hab gerade geoggelt, mit Mysql.Data sollte .NET 5 laufen.
Artikel dazu:
https://kontext.tech/column/dotnet_framework/607/connect-to-mysql-in-net-5
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
Kurzer Blick auf NuGet zeigt, dass die Dependency für .NET 5 ist.
https://www.nuget.org/packages/MySql.Data/
Wenn Du eine Exception bekommst, dann hast Du in 99% der Fälle eine Message oder auch eine InnerException mit Details.
Musst mal schauen, was da drin steht - wir sehens aus der Entfernung nicht 😉
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
ja, das habe ich ja schon auf der Seite https://dev.mysql.com/doc/connector-net/en/connector-net-versions.html gesehen.
Aber irgendetwas ist noch anders als bisher gewohnt....
Ich bekomme keine Exception, nur eine MessageBox.
Dann wäre die Frage wie dein Code aussieht wo der Fehler auftritt.
Die Ursache muss dann auf deiner Seite liegen.
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
Sorry, bekomme doch eine Exception. Bei Connection.open.
Aber ich verstehe sie nicht. Ich habe die MySQL.Data.dll eingebunden, wie sonst auch immer. Will er eine weitere Datei aus dem Connector-Ordner?
Hier kann leider keiner hellsehen, bisher.
Kannst Du daher bitte der Bitte von T-Virus nachkommen und bisschen Code zeigen?
Siehe auch [Hinweis] Wie poste ich richtig?
Danke Dir.
Und wenn Du von "Dll eingebunden" sprichst, dann vermute ich, dass Du direkt von der DLL sprichst und nicht vom NuGet.
Du musst unbedingt die NuGet referenzieren und nicht nur die DLL. So funktioniert das .NET Ökosystem seit vielen Jahren.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Und wenn Du von "Dll eingebunden" sprichst, dann vermute ich, dass Du direkt von der DLL sprichst und nicht vom NuGet.
Du musst unbedingt die NuGet referenzieren und nicht nur die DLL. So funktioniert das .NET Ökosystem seit vielen Jahren.
Das war mein Problem. Den Begriff "NuGet" sehe ich heute zum ersten mal.
Und jetzt habe ich auch die passenden Menübefehle gefunden.
Bisher hat es immer ohne funktioniert.
Danke euch beiden.