|
1
96
“使组件可见”是一个巨大的锤子 全部的 程序集中的公共类型[ComVisible]。很少需要,您需要选择希望可见的特定类型,就像您在代码片段中所做的那样。
生成程序集后,需要注册它,以便COM客户端能够找到它。它只使用一个数字来标识他要创建的对象,即guid,需要进行额外的查找,以确定哪个dll实现了它。注册涉及在
这就是“注册COM互操作”所做的。这是可取的,因为它可以确保旧的DLL副本在被覆盖之前自动取消注册,从而防止注册表污染。vs需要提升运行权限才能对这些注册表项进行写访问,这是使其成为可选的一个原因。或者您只是不想注册它,在构建服务器上很常见。如果没有更多的诊断,我无法解释为什么你有时得不到.tlb。 |
|
|
2
0
除了在所选答案中所做的注释外,还有。 薄层色谱法 如果类型或方法未先从Windows注册表中删除相应记录(或关闭使用库的应用程序或服务),则使用regasm实用程序的/u选项不会创建文件:
另外,必须指出的是,如果使用选项编译库,则将库作为COM使用的注册表只在开发计算机中工作。 注册COM互操作 和 使程序集COM可见 . 需要使用指定的命令行在每个目标计算机中手动注册它,或者生成在安装库时执行的脚本。 很抱歉将此评论作为答案,但我无法将评论放在帖子中,因为我要求50点的声誉。 |