
Trexano
Wenn ich versuche, die Verbindung zu öffnen, ist ein Fehler aufgetreten und ich sage:
System.TypeInitializationException: Der Typinitialisierer für „MySql.Data.MySqlClient.Replication.ReplicationManager“ hat eine Ausnahme ausgelöst.
Dies ist der Teil des Codes:
MySqlConnection _Conn;
public void Conectar()
{
new I18N.West.CP1250();
string SC;
SC = "server = XXX; Port = 3306; database = XXX; user id = XXX; password = XXX; charset = utf8";
_Conn = new MySqlConnection(SC);
_Conn.Open();
}
Wenn Sie Probleme mit Xamarin haben, sollten Sie Folgendes tun:
1) Entfernen Sie Referenz-Mysql-Daten
2) Referenz Xamarin.Mysql hinzufügen
Sie können Ihre Anrufe behalten (mit MySql.Data.MySqlClient;)
Es klingt wie die MySql.Data.MySqlClient.Replication.ReplicationManager
Der statische Konstruktor versucht, die zu initialisieren System.Configuration.ConfigurationManager
-Klasse, die auf Xamarin Android nicht unterstützt wird.
Um dies zu vermeiden, könnten Sie eine alternative MySQL-Client-Bibliothek verwenden, die diese Abhängigkeit nicht hat, wie z MySqlConnector auf NuGet.

Stefan Baba
GELÖST
Verwenden Sie das Paket Nuget MySqlConnector statt MySql.Data
Ich verwende es und es ist auf Xamarin Android in Ordnung
https://www.nuget.org/packages/MySqlConnector/
Wiedersehen

Windtor
Verwenden Sie dieses Oracle-Paket (https://www.nuget.org/packages/MySql.Data/), nicht wahr? Dann erhalten Sie diesen Teil der Ausnahmemeldung:
System.PlatformNotSupportedException: Operation is not supported on this platform.
Bedeutet, dass Diese Bibliothek funktioniert aufgrund von Architektur- oder Betriebssysteminkompatibilitäten nicht mit Xamarin/Android. Es gibt keine Compilerfehler, aber dieses Oracle MySQL-Paket löst auch andere Ausnahmen aus, die sich immer auf die Architektur/das Betriebssystem beziehen, wenn versucht wird, seine Methoden auf einer Xamarin/Android-App auszuführen. Daher habe ich kürzlich eine Nachricht an Oracle geschrieben und sie gebeten, diese Informationen über Inkompatibilitäten aufzunehmen in der README… Alle Foren, die sich auf Xamarin und diese Bibliothek beziehen, enden damit, über ihre Android-Inkompatibilitätsprobleme zu sprechen.
Hier ist die Lösung, die ich anstelle der Oracle-Bibliothek verwende. Es ist ein alternatives, aktuelles und sehr ähnliches (und zu 100 % in Xamarin Android funktionierendes) Paket auf NuGet. Sie können es hier herunterladen:
https://www.nuget.org/packages/MySqlConnector/
Eine andere Alternative, sehr ähnlich, aber weniger aktualisiert und verwendet:
https://www.nuget.org/packages/Xamarin.MySql.Data/
Und es gibt auch ein anderes Paket (mit allen Dokumenten auf Chinesisch und einer seltsamen/ausgefeilten Art, Abfragen zu erstellen …), aber es funktioniert auch und wird häufig aktualisiert. Aber werfen Sie besser einen Blick auf die Dokumentation und die Beispiele hier, bevor Sie versuchen, Folgendes zu verwenden:
https://github.com/dotnetcore/FreeSql
10140300cookie-checkAndroidApp und MySqlConnection funktionierten nicht connection.openyes
Diese Ausnahme bedeutet normalerweise, dass der statische Konstruktor für
ReplicationManager
warf eine Ausnahme. Ohne die vollständige Ausnahmemeldung und Callstack aus das Ausnahme, wir werden Ihnen wahrscheinlich nicht helfen können. Es wäre auch hilfreich zu wissen, welche Version von MySql.Data Sie verwenden.– Bradley Grainger
2. Mai 2018 um 19:38 Uhr
Ich weiß nicht, wie ich Ihnen die vollständige Ausnahmemeldung und den Callstack aus der Ausnahme zeigen soll. Können Sie mir bitte sagen, wie man das macht?
– Trexano
4. Mai 2018 um 14:42 Uhr
Versuchen Sie, nach anderen Stack Overflow-Antworten zum Debuggen einer TypeInitializationException zu suchen, z. B. stackoverflow.com/a/1604352
– Bradley Grainger
4. Mai 2018 um 15:31 Uhr
Dies ist die Ausnahme: “System.TypeInitializationException: The type initializer for ‘MySql.Data.MySqlClient.Replication.ReplicationManager’ warf eine Ausnahme. —> System.TypeInitializationException: The type initializer for ‘MySql.Data.MySqlClient.MySqlConfiguration’ hat eine Ausnahme ausgelöst. —> System.Configuration.ConfigurationErrorsException: Konfigurationssystem konnte nicht initialisiert werden —> System.PlatformNotSupportedException: Operation wird auf dieser Plattform nicht unterstützt.\n
– Trexano
9. Mai 2018 um 8:37 Uhr
Welche Version von MySql.Data verwenden Sie?
– Bradley Grainger
9. Mai 2018 um 14:03 Uhr