错误80040154(没有注册类除外)初始化VCProjectEngineObject(Microsoft.VisualStudio.VCProjectEngine.dll)时, [英] Error 80040154 (Class not registered exception) when initializing VCProjectEngineObject (Microsoft.VisualStudio.VCProjectEngine.dll)
问题描述
我想,以转换Visual运行这工具C ++项目的Makefile。
我想转换项目的项目是用VS2008,所以我用从9版本Microsoft.VisualStudio.VCProjectEngine.dll参考。
I'm trying to run this tool in order to convert a Visual C++ project to makefile. The project I'm trying to convert project is written in VS2008, so I'm using a reference to Microsoft.VisualStudio.VCProjectEngine.dll from version 9.
它未能在这一行:
VCProjectEngine vcprojEngine = new VCProjectEngineObject();
通过以下异常:
检索COM类工厂
与CLSID组件
{D19A00C4-A7F9-4E14-A5E1-D060B7EB57F3}
由于以下错误失败:
80040154类没有注册
(异常来自HRESULT:0x80040154的
(REGDB_E_CLASSNOTREG))。
Retrieving the COM class factory for component with CLSID {D19A00C4-A7F9-4E14-A5E1-D060B7EB57F3} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
当试图用REGSVR32注册VCProjectEngine.dll,我得到一个错误的入口点中的DllRegisterServer没有被发现。
When tried to register VCProjectEngine.dll with regsvr32, I got an error that the entry point DllRegisterServer was not found.
任何想法??
先谢谢了。
推荐答案
有没有很多很好的原因,这会失败,尤其是REGSVR32一步。 DUMPBIN运行在该DLL /出口。如果您没有看到中的DllRegisterServer那么你已经有了一个腐败的安装。它应该有更多的副作用,你将无法建立C / C ++项目了。
There are not many good reasons this would fail, especially the regsvr32 step. Run dumpbin /exports on that dll. If you don't see DllRegisterServer then you've got a corrupt install. It should have more side-effects, you wouldn't be able to build C/C++ projects anymore.
一个标准的故障模式在64位操作系统上运行此。这是32位的非托管code,你的确会得到类未注册的例外。项目+属性,生成标签,平台目标更改为86。
One standard failure mode is running this on a 64-bit operating system. This is 32-bit unmanaged code, you would indeed get the 'class not registered' exception. Project + Properties, Build tab, change Platform Target to x86.
这篇关于错误80040154(没有注册类除外)初始化VCProjectEngineObject(Microsoft.VisualStudio.VCProjectEngine.dll)时,的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!