我正在使用一些测试代码来创建Visio文档。我在Window 7 64位上使用Visual Studio 2010。当我运行我的程序并尝试在程序中创建新的Visio应用程序对象时,我得到以下例外:在64位系统上注册32位DLL
检索具有CLSID {00021A20-0000-0000-C000-000000000046}的组件的COM类工厂失败,原因是以下错误:80040154类未注册(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG))。
下面是导致异常的代码:
Visio.Application va = new Microsoft.Office.Interop.Visio.Application();
我验证项目设置是构建32位应用程序。我已经追踪到64位Windows无法加载32位.COM Visio DLL。我尝试使用regsvr32注册dll,但得到一个错误消息,说没有找到入口点DLLregisterserver。 MDSN说这意味着该文件不是有效的.dll。现在我试图从Visual Studio库注册Microsoft.Office.Interop.Visio.dll。有没有解决这个问题?有.COM库的64位版本吗?
您正在使用哪个版本的.net? – Dinesh 2012-02-27 04:38:23
检查此链接。 http://stackoverflow.com/questions/4021796/error-80040154-class-not-registered-exception-when-initializing-vcprojectengin – Dinesh 2012-02-27 04:43:23
您使用的是32位还是64位Office?这是重要的,而不是Windows的低俗。 – 2012-02-27 04:45:19