![](/img/trans.png)
[英]Writing a COM Interop Assembly for a .NET assembly to be consumed by a VB6 app
[英]COM Interop .NET Assembly - A Terminology Question
我的问题只是关于术语。 “ COM Interop”是否仅指在.NET项目中使用COM组件或对象?
哪个术语最适合用于制作.NET程序集以及设计和配置它以用于COM应用程序(例如VB6或VBA)?
COM对象 :
组件对象模型(COM)是Microsoft在1993年引入的用于软件组件的二进制接口标准。它用于以多种编程语言实现进程间通信和动态对象创建。 COM术语在Microsoft软件开发行业中经常被用作涵盖OLE,OLE Automation,ActiveX,COM +和DCOM技术的总称。
因此, COM对象与语言无关。 这是一种通信协议。
因此,使用此协议的任何东西都是COM对象。
您可以使用.NET Framework创建支持COM通信的dll。
.NET用来包装COM通信的接口是COM Interop ,因此您可以编写常规的.NET代码,而不必弄乱COM协议和声明。 当您将COM对象引用到项目时,Visual Studio可以创建Interop。
COM Interop是.NET CLR中包含的一项技术,使COM对象可以与.NET对象进行交互,反之亦然。
此类通常称为CCW的COM可调用包装器。
COM Interop意味着:从.Net使用COM和通过COM使用.Net。
通常将COM interop
称为.NET绑定程序集与COM DLL的结合 。 例如,当您在.NET项目中添加对COM DLL的引用并被创建时。
据我所知,COM Interop将使用来自.NET的COM或其他方式。
现在,您有两个选择可让您的.NET程序集COM可见 :
“注册COM Interop”与“使程序集COM可见”
当您要使用COM库时, Visual Studio将使用Tblimp.exe并生成可在.NET中使用的互操作程序集。 对于该过程的另一种方式是Tblexp.exe
这篇较旧的文章涵盖了有关.NET中COM Interop的很多知识。 (注意,它同时讨论了Iterop)
请记住, .NET4具有一些不错的新功能,可以使用来自.NET的COM。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.