我正在开发一个项目,我需要在C#.net项目中调用非托管COM对象。在这个link中,我发现为了在.net中调用COM对象,需要在该对象上有一个RC包装器。所以,我只是想知道这是否是唯一的出路?或者我们还有其他方法在.NET中调用COM对象吗?
答案 0 :(得分:5)
VS允许您简单地添加对COM DLL的引用。它只是您的"添加参考文献"中的一个标签。对话。对于大多数情况,该过程非常无缝。 为您自动生成完整的RCW。您无需编写任何手动代码。
请参阅How to: Add or Remove References By Using the Add Reference Dialog Box。
如果需要更多控制,另一种方法是创建管理和调用COM类的C ++ / CLI或Managed C ++类。可以通过C#代码依次调用此Managed C ++类。你实际上是在创建一个"手册"包装你的COM代码。 C ++ / CLI是一种混合语言,它结合了托管.NET和非托管C ++代码的元素。
本文介绍了基础知识:Quick C++/CLI - Learn C++/CLI in less than 10 minutes。您需要对其进行调整以添加COM类的常用生命周期管理代码。