Ошибка 80040154 (исключение classа без регистрации) при инициализации VCProjectEngineObject (Microsoft.VisualStudio.VCProjectEngine.dll)
Я пытаюсь запустить этот инструмент, чтобы преобразовать проект Visual C ++ в makefile. Проект, который я пытаюсь преобразовать, написан на VS2008, поэтому я использую ссылку на Microsoft.VisualStudio.VCProjectEngine.dll из версии 9.
В этой строке это не работает:
VCProjectEngine vcprojEngine = new VCProjectEngineObject();
Со следующим исключением:
- IllegalArgumentException или NullPointerException для нулевого параметра?
- Oracle PL / SQL - повышение пользовательского исключения с помощью пользовательского SQLERRM
- Почему я получаю «должен быть пойман или объявлен брошен» в моей программе?
- Какая часть бросания Исключения стоит дорого?
- Необработанные исключения в BackgroundWorker
Получение фабрики COM-classа для компонента с CLSID {D19A00C4-A7F9-4E14-A5E1-D060B7EB57F3} завершилось ошибкой из-за следующей ошибки: 80040154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
При попытке зарегистрировать VCProjectEngine.dll с regsvr32, я получил ошибку, что точка входа DllRegisterServer не найдена.
Есть идеи??
Заранее спасибо.
- Eclipse - java.lang.ClassNotFoundException
- Бросить ключевое слово в подпись функции
- Множество первых шансов Microsoft.CSharp.RuntimeBinderException, возникающие при работе с динамикой
- Почему я получаю «Исключение; должен быть пойман или объявлен брошенным ", когда я пытаюсь скомпилировать свой Java-код?
- Есть ли веская причина игнорировать исключение
- Как я могу написать пользовательские исключения?
- Как правильно игнорировать исключения
- Исключения, которые не могут быть захвачены блоком try-catch в коде приложения
Существует не так много веских причин, по которым это может потерпеть неудачу, особенно шаг regsvr32. Запустите dumpbin / exports в этой DLL. Если вы не видите DllRegisterServer, у вас есть коррумпированная установка. У него должно быть больше побочных эффектов, вы больше не сможете создавать проекты на C / C ++.
Один стандартный режим отказа работает в 64-разрядной операционной системе. Это 32-разрядный неуправляемый код, вы действительно получите исключение «class not registered». Project + Properties, вкладка «Сборка», изменить платформу «objective» для x86.