2011-01-08 147 views
0

我想从C++代码创建一个DLL并在C#中使用它。有没有从C++创建COM对象的解决方案?我不想使用System.Runtime.InteropServices从C++创建COM对象?

非常感谢

+0

看看ATL – 2011-01-08 10:35:54

回答

4

您可以直接写COM(请参阅@Darin Dimitrov的回答),但您也可以使用ATL。我最喜欢将C++代码暴露给C#(但不使用COM)的解决方案是使用C++/CLI

0

你可以使用ATL,它太简单了,你只需要注册该DLL。之后,你可以在所有的C#程序中使用它

1

有3种方法可以解决它。

1)使用C#中的PInvoke调用本地方法。

2)使用C++ - CLI创建一个将本机功能公开给C#的图层。这是我推荐的性能明智的方法。

3)将C++ dll编写为COM对象并从C#中进行访问。需要COM知识和开发成本。