regasm和tlb(为COM互操作注册.NET库)

时间:2010-06-22 17:01:43

标签: visual-studio-2008 com regasm typelib

我有一个带有一个公共类和几个私有类的.NET程序集。

我正在尝试为COM互操作注册它,以便我可以使用以下命令从VBA调用它:

regasm /tlb foo.dll /codebase

随后,当我在Visual Studio的“对象浏览器”中打开.tlb文件时,我发现该库没有公开任何类型。

有什么想法吗?

我意识到这里没有太多具体信息,所以如果你让我知道什么是诊断上有用的,我会尽力提供。

2 个答案:

答案 0 :(得分:2)

我必须使用[ComVisible(true)]标记我的公开类型。

答案 1 :(得分:0)

有两件事要做:

  1. 我不认为VS2008对象浏览器允许查看从.NET程序集生成的tlb文件 - 我建议使用iTripoli's Type Library Viewer来确保您正在诊断正确的问题;
  2. 尝试使用/verbose选项,查看Regasm遇到的问题类型。