Я боролся с этим уже несколько часов, и, может быть, я просто не так хорошо понимаю справочные сборки.
У меня есть приложение .NET CF 1.0, работающее в Windows CE 4.2 / 5.0.
Существует управляемая сборка, которая является частью SDK для устройства, которое я добавила в качестве ссылки на мой проект.
В большинстве случаев все прекрасно работает. Я могу вызвать методы и успешно изменить состояние устройства (например, установить состояние клавиатуры или уменьшить яркость подсветки).
На некоторых устройствах, когда мое приложение обращается к коду, который ссылается на DLL, оно просто взрывается само по себе
Моя проблема в том, что я не могу оправиться от этого. Код полностью содержится в try / catch, перехватывающем общее исключение:
try
{
if (Terminal.API.UnitAPI.KbdGetKeyInputState() ==
(int)Terminal.API.KbdState.AlphaOn)
Terminal.API.UnitAPI.KbdSetKeyInputState
(Terminal.API.KbdState.AlphaDown);
}
catch (Exception e)
{
log("Error loading DLL: " + e.Message);
}
Если у кого-нибудь есть идеи о том, как правильно восстановиться после этого, я был бы признателен. Спасибо.