Я работаю над приложением в Xamarin
для Visual Studio 2017
.Я пытаюсь протестировать свое приложение на устройствах Android
и iOS
live player.Когда я пытаюсь запустить его, на моем устройстве появляется следующая ошибка (Android
и iOS
):
Уровень = Ошибка, Заголовок = Ошибка визуализации, Сообщение = Кодирование 1252 данных не удалосьбыть найденным.Убедитесь, что у вас установлена и включена правильная сборка международного кодового набора.(NotSupportedException)
Я обнаружил похожие проблемы при поиске Google
, но после внесения изменений он все равно не запустится.Я проверил все параметры интернационализации для обоих устройств и даже сохранил напрямую как кодировку UTF-8
, так как полагал, что это может быть проблема с кодировкой windows-1252
.Я также сослался с I18N.dll
на I18N.West.dll
для обоих.
Любая помощь будет принята с благодарностью.Спасибо.
Обновление:
Мне удалось еще больше сузить проблему.
using (SqlConnection sqlConn = new
SqlConnection(Configuration.ConnectionString))
{
//sqlConn.Open();
}
.open
вызываетошибка кодирования.После его комментирования приложение будет работать на работающем устройстве, однако теперь я получаю:
Уровень = Ошибка, Заголовок = Неопределенное исключение, Сообщение = Кодировка 1252 данных не найдены.Убедитесь, что у вас установлена и включена правильная сборка международного кодового набора.(NotSupportedException)
И Visual Studio 2017
выдает следующую ошибку
System.Reflection.TargetInvocationException: Исключение было сгенерировано целью вызова.
в
using (SqlConnection sqlConn = new
SqlConnection(Configuration.ConnectionString))
Это происходит в тот момент, когда он пытается извлечь данные из базы данных в приведенном выше операторе using
.Я использую SQL Server 2008 R2
.Все, что я могу сказать, это то, что у него есть проблема с отправкой и получением с SQL Server с Android
и iOS
.
Обновление 2:
После использования некоторого Exception Handlers
я свел его к следующему внутреннему исключению:
{System.NotSupportedException: кодировка 1252 данных не найдена.Убедитесь, что у вас установлена и включена правильная сборка международного кодового набора.в System.Text.Encoding.GetEncoding (кодовая страница System.Int32) [0x0023f] в <896ad1d315ca4ba7b117efb8dacaedcf>: 0 в Mono.Data.Tds.TdsCharset.GetEncodingFromSortOrder (сортировка): 0 0.Tds.TdsCharset.GetEncodingFromSortOrder (сопоставление System.Byte []) [0x00006] в: 0 в Mono.Data.Tds.TdsCharset.GetEncoding (сопоставление System.Byte []) [0x00008] в: 0 в Mono.Data.Tds.Protocol.Tds.ProcessEnvironmentChange () [0x00229] в: 0 в Mono.Data.Tds.Protocol.Tds.ProcessSubPacket () [0x00129] в: 0 в Mono.Data.Tds.Protocol.Tds.NextResult () [0x00039]в: 0 в Mono.Data.Tds.Protocol.Tds.SkipToEnd () [0x00000] в: 0 в Mono.Data.Tds.Protocol.Tds70.Connect (Mono.Data.Tds.Protocol.TdsConnectionParameters connectionParameters) [0x0058e]в: 0 в Mono.Data.Tds.Protocol.Tds80.Connect (Mono.Data.Tds.Protocol.TdsConnectionParameters connectionParameters) [0x00000] в: 0 в System.Data.SqlClient.SqlConnection.Open () [0x00245] в <868a6461786e4884ac572c5e90a6b7fd>: 0 в System.Data,Data.DataTable [] datatables, System.Int32 startRecord, System.Int32 maxRecords, System.String srcTable, команда System.Data.IDbCommand, поведение System.Data.CommandBehavior) [0x0002d] в <868a6461786e4884ac572c5data.Common.DbDataAdapter.Fill (System.Data.DataSet dataSet, System.0в System.Data.Common.DbDataAdapter.Fill (System.Data.DataSet dataSet) [0x00029] в <868a6461786e4884ac572c5e90a6b7fd>: 0 в (управляемая оболочкой управляемая) System.Reflection.MonoMethod: InternalInvolection (System.RoF).object, object [], System.Exception &) в System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object [], параметры System.Globalization.CultureInfoкультура) [0x00032] в <896ad1d315ca4ba7b117efb8dacaedcf>: 0}
, который происходит в:
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);