System.OutOfMemoryException при компиляции кода с COM-компонентом в 32-разрядной системе и при использовании в 64-разрядной системе - PullRequest
0 голосов
/ 05 октября 2011

Мой код отлично работает в 32-битной системе.Я просто ссылаюсь на компонент COM, который читает / пишет XML.Итак, я попытался скомпилировать в «X86» и затем запустить в 64-битной системе, когда я получил ошибку ниже.

Произошло следующее исключение: System.OutOfMemoryException: Создание экземпляра компонента COM с CLSID {59D5FDED-B01B-47F4-BBBC-56941A2F4873} из IClassFactory не удалось из-за следующей ошибки: 8007000e.

1 Ответ

0 голосов
/ 05 октября 2011

Случайные предложения:

  • Присоедините отладчик как нативный и посмотрите, есть ли интересные нативные исключения.
  • Постарайтесь сделать так, чтобы ваш exe "не занимал много места в памяти".
  • Убедитесь, что приложение загружается как 32-битное.
  • Попробуйте создать компонент с собственным кодом, чтобы убедиться, что он правильно установлен в системе.

Примечание: если ваш COM-компонент использует MSXML для работы с XML, загрузка его в управляемое приложение не поддерживается из-за несовместимости между управлением памятью. Это вряд ли будет причиной проблемы, которую вы видите, но больше для общего ознакомления.

...