CE 6.0 / .NET CF 3.5 Приложение столкнулось с серьезной ошибкой (MC3100)
При выходе из приложения .NET CF 3.5 на Motorola MC3100 (только в версии CE 6.0) я получаю сообщение об ошибке «Приложение xxx обнаружило серьезную ошибку и требует завершения». Затем мне нужно перезагрузить устройство, чтобы приложение снова заработало.
Этот код работает нормально до тех пор, пока приложение не будет закрыто, и он не будет работать, только если на элементе управления в приложении установлен шрифт. Все также отлично работает на .NET CF 2.0 и на всех других устройствах Motorola, Intermec, Psion, HHC, которые я пробовал с .NET CF 3.5.
Вот мой текущий тестовый код:
[MTAThread]
static void Main()
{
Control oCtrl = new Control();
oCtrl.Font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Bold);
// Setting the controls font to null works
// oCtrl.Font = null; Works
// Setting the Control to null does not work, still get error
// oCtrl = null; Doesn't work
// Setting a font, not on a control, also works fine.
// System.Drawing.Font font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Bold);
}
Я видел несколько ссылок, которые кажутся связанными:
Application crashes on exit when using Button2 Problem with CF 3.5 and Windows CE 6 Error on closeНо пока единственная рекомендация, которую я нашел, - исключить шрифты в приложении. В этом случае слишком много мест, где установлены шрифты, включая связанные сборки, что было бы невозможно.
Кто-нибудь еще видел что-нибудь подобное? Похоже, что-то, что связано с элементами управления, неправильно распределяющими шрифты в этих версиях.