在用C#进行AutoCAD二开发的时候,对2002以及2005以后的版本都能正常获取AcadApplication;
AcadApplication _application = (AcadApplication)System.Runtime.InteropServices.Marshal.GetActiveObject("AutoCAD.Application.16");
但用到2004的时候就出现以下问题:
无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型“AutoCAD.AcadApplication”。
此操作失败的原因是对 IID 为“{8E75D910-3D21-11D2-85C4-080009A0C626}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 不支持此接口 (异常来自 HRESULT:0x80004002 (E_NOINTERFACE))。
我看了下CAD的接口,如下
[Guid("8E75D910-3D21-11D2-85C4-080009A0C626")] public interface AcadApplication : IAcadApplication, _DAcadApplicationEvents_Event
好像是8E75D910-3D21-11D2-85C4-080009A0C626的啊~怎么就不行呢?
请教下各位大大,倒底是什么问题啊? |