COM Interop .NET程序集 - 一个术语问题

时间:2011-04-07 14:35:34

标签: c# .net com-interop

我的问题只是关于术语。 “COM Interop”是否仅指在.NET项目中使用COM组件或对象?

什么术语最适合用于制作.NET程序集并设计和配置它以用于COM应用程序(例如VB6或VBA)?

4 个答案:

答案 0 :(得分:2)

COM Object

  

组件对象模型(COM)是一个   软件的二进制接口标准   微软在美国推出的组件   它用于实现进程间通信和动态   在很大范围内创建对象   编程语言。 COM这个词是   经常在Microsoft软件中使用   发展工业作为一把伞   包含OLE,OLE的术语   自动化,ActiveX,COM +和DCOM   技术。

因此 COM 对象不依赖于语言。这是一个通讯协议 所以使用这个协议的任何东西都是一个COM对象。

您可以使用 .NET 框架创建支持COM通信的dll。

COM Interop 是.NET用于包装COM通信的接口,因此您可以编写常规.NET代码,而无需弄乱COM协议和声明。当您将COM对象引用到项目时,Visual Studio可以创建Interops。

  

COM Interop是一项包含的技术   在.NET CLR中启用COM   对象与.NET对象交互,   反之亦然。

答案 1 :(得分:0)

这类通常被称为CCWs COM可调用包装器 COM Interop同时指:使用.Net的COM和通过COM使用.Net。

答案 2 :(得分:0)

COM interop通常称为 .NET绑定程序集到COM DLL。例如,当您在.NET项目中添加对COM DLL 的引用时,它就会被创建。

答案 3 :(得分:0)

据我所知,COM Interop将使用.NET中的COM或其他方式。

现在您有两个选项可以使.NET程序集 COM可见请参阅: "Register for COM Interop" vs "Make assembly COM visible"

当您想使用COM库时,Visual Studio将使用Tblimp.exe并生成可在.NET中使用的互操作程序集。对于其他方式的过程,有Tblexp.exe

This somewhat old article涵盖了.NET中的COM Interop。 (注意,它讨论了Iterop两种方式)

请记住.NET4 has some nice new features使用来自.NET的COM。