当我尝试打开连接时发生错误并说:
System.TypeInitializationException:' MySql.Data.MySqlClient.Replication.ReplicationManager'的类型初始值设定项。抛出异常。
这是代码的一部分:
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();
}
答案 0 :(得分:1)
如果您遇到Xamarin问题,应该这样做:
1)删除参考Mysql数据
2)添加参考Xamarin.Mysql
您可以保留您的通话(使用MySql.Data.MySqlClient;)
答案 1 :(得分:0)
听起来MySql.Data.MySqlClient.Replication.ReplicationManager
静态构造函数正在尝试初始化System.Configuration.ConfigurationManager
类,Xamarin Android不支持该类。
为避免这种情况,您可以使用没有该依赖关系的备用MySQL客户端库,例如MySqlConnector on NuGet。
答案 2 :(得分:0)
已解决
使用软件包Nuget MySql.Connector 代替MySql.Data
我正在使用它,并且在Xamarin Android上还可以
https://www.nuget.org/packages/MySqlConnector/
再见
答案 3 :(得分:0)
您在使用这个 Oracle 包 (https://www.nuget.org/packages/MySql.Data/) 吗?然后,你得到的这部分异常信息:
System.PlatformNotSupportedException: Operation is not supported on this platform.
表示由于体系结构或操作系统不兼容,此库不适用于 Xamarin/Android。没有编译器错误,但是当尝试在 Xamarin/Android 应用程序上执行其方法时,Oracle MySQL 包也会引发其他总是与架构/操作系统相关的异常,所以我最近给 Oracle 写了一条消息,要求他们包含有关不兼容性的信息在自述文件中...所有与 Xamarin 和该库相关的论坛都结束了谈论其 Android 不兼容问题。
这是我使用的解决方案,而不是 Oracle 库。它是 NuGet 上的替代、最新且非常相似(并且 100% 在 Xamarin Android 中工作)包,您可以在此处获取它: https://www.nuget.org/packages/MySqlConnector/
另一种选择,非常相似,但更新和使用较少: https://www.nuget.org/packages/Xamarin.MySql.Data/
而且还有另一个包(所有文档都是中文的,并且以一种奇怪/复杂的方式来构建查询......)但它也可以工作并经常接收更新。但在尝试使用之前,最好先看看这里的文档和示例: https://github.com/dotnetcore/FreeSql