Попытка подключения к Центру качества с помощью VS Express 2012 приводит к ошибке System.BadImageFormatException

Я пытаюсь подключиться к Центру качества с помощью приложения WPF в Visual Studio Express 2012. Моя системная конфигурация - Windows 7 64-битная.

Я добавил в проект ссылку на OTAClient.dll. Свойство Типы встроенного взаимодействия для этой библиотеки имеет значение true.

Поиск похожих проблем дал такие решения, как установка целевой платформы проекта на x86, но решение не сработало для меня.

Я получаю ошибку

Не удалось получить фабрику класса COM для компонента с CLSID {C5CBD7B2-490C-45F5-8C40-B8C3D108E6D7} из-за следующей ошибки: 800703e6 Неверный доступ к расположению памяти. (Исключение из HRESULT: 0x800703E6).

Я также попытался зарегистрировать DLL с помощью regsvr32.

Может кто-нибудь помочь мне разобраться с проблемой.

1 ответ

Решение

Мне удалось решить эту проблему. Эта ошибка имеет отношение к DEP-совместимости. Программа генерирует исключения DEP, и чтобы очистить ее, мы должны очистить флаг IMAGE_DLLCHARACTERISTICS_NX_COMPAT.

Это можно сделать, добавив событие после сборки в Visual Studio

вызов $(DevEnvDir)..\tools\vsvars32.bat editbin.exe /NXCOMPAT:NO $(TargetPath)

Обратитесь к вопросу о стеке потока Как сделать мою программу DEP-совместимой?

Другие вопросы по тегам