0

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

非常感谢

4

4 回答 4

4

Of course that you can write COM+ objects with C++. Here's a tutorial.

于 2011-01-08T10:26:31.220 回答
4

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

于 2011-01-08T10:38:03.890 回答
1

有3种方法可以解决。

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

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

3) 将 C++ dll 编写为 COM 对象并从 C# 访问。需要 COM 知识,因此需要开发成本。

于 2012-07-29T03:48:57.320 回答
0

你可以使用ATL,它太简单了,你只需要注册dll。之后,您可以在所有 c# 程序中使用它

于 2011-07-12T06:34:31.627 回答