NotSupportedException Исключения выдается везде при отладке в Windows CE - PullRequest
2 голосов
/ 24 августа 2010

Я работаю над приложением Windows CE 6.0.Приложение загружает несколько внешних сборок динамически, используя.

Assembly assembly = Assembly.Load(path);

Эти файлы .dll находятся за пределами решения, но в каждой из них есть классы, реализующие общий интерфейс.

Как только сборки загружены, приложение проходит через каждый из классов и создает экземпляр, а затем вызывает метод .Load () для каждого из них.

//in class definition
private log4net.ILog _log = log4net.LogManager.GetLogger(this.GetType());


//in looping method
foreach (IPlugin plugin in _plugins)
{
    try
    {
        plugin.Load();
    }
    catch (Exception e)
    {
        string message = string.Format("Plugin load error: {0}", plugin.Name); //breakpoint gets set here.
        if (_log.IsErrorEnabled) _log.Error(message, e);
    }
}

Это прекрасно работает, когда я развертываю приложение вустройство и запустить его.Однако, когда я запускаю это в отладчике (подключенном к устройству, а не к эмулятору), метод Load () одного из плагинов генерирует исключение System.NotSupportedException, которое перехватывается, и мы пытаемся зарегистрировать его.Однако свойство _log.IsErrorEnabled журнала Log4Net также вызывает исключение NotSupportedException.

Я получаю очень странное поведение, когда устанавливаю точку останова на строке, где я строю сообщение.Если я проверяю объект _log в окне наблюдения, я вижу, что свойства IsErrorEnabled и IsFatalEnabled оба генерируют NotSupportedExceptions, но другие свойства IsXXXEnabled возвращают True или False, как они должны.

Кроме того, если я проверяю исключение 'e' (которое является NotSupportedException), я вижу следующее в его свойстве StackTrace:

'((System.Exception) ($ исключение)) .StackTrace 'сгенерировал исключение типа' System.NotSupportedException '

У меня вопрос: что может быть причиной этого очевидного сбоя в среде отладки?Мне кажется, что некоторые из методов LogXNet IsXXXEnabled работают, а другие не могут быть подсказкой.

Ответы [ 2 ]

0 голосов
/ 10 ноября 2010

Удаление Compact Framework 2.0 устранило проблему. Надеюсь, это поможет кому-то еще.

0 голосов
/ 25 августа 2010

Звучит очень подозрительно, будто у вас мало памяти, и во время выполнения возникают проблемы с загрузкой отладочной информации для ваших целей.Как выглядит разделение памяти на устройстве?

...