【发布时间】:2011-06-02 16:20:39
【问题描述】:
我想在 IDL 文件中声明一个托管类(用 C#/.NET 构建),但是当我为它添加一个 coclass 时,我稍后会在构造函数完成并返回时得到一个 InvalidCastException。 (无法将对象“MyThing”转换为类型“MyThingClass”。)
所以在我的测试应用程序(也是 C#/.NET)中注册 tlb 后,它理解到足以调用真正的构造函数。我什至可以调试它。一切都很好,直到它必须从构造函数中返回。
我曾考虑尝试使用 importlib 将 DLL 拉入 IDL,但我需要在构建之前使用 tlb(鸡或蛋问题)。
用谷歌搜索这个问题只会发现简单的转换问题。
有什么想法吗?
【问题讨论】:
-
你有没有看过这些问题stackoverflow.com/search?q=idl+c%23
-
也许提供一个例子可能会让更多人回答>
-
为什么要手动创建 IDL 而不是使用 Tlbexp/Regasm?如果服务器和客户端都是用托管代码编写的,那你为什么还要使用 COM?