C++ 使用COM互操作来使用DLL

C++ 使用COM互操作来使用DLL,c++,dll,com,interop,C++,Dll,Com,Interop,我必须在我的项目中使用一个DLL,它是一个.NET程序集。我必须使用C++来完成这个项目。我是编程的相对初学者,所以我的知识范围不太广。我被告知COM互操作是让DLL在我的项目中工作的一种方法(另一种是C++/CLI)。问题是我不知道如何开始,因为我以前从来没有做过这样的事情,而且微软关于这个问题的文档也没有真正的帮助 如果有人能给我指出正确的方向,那我将不胜感激。这里有一些很好的资源可以帮助您开始: (包括使用C++中的COM) 也就是说,您还需要确保您的.NET项目已设置为通过COM

我必须在我的项目中使用一个DLL,它是一个.NET程序集。我必须使用C++来完成这个项目。我是编程的相对初学者,所以我的知识范围不太广。我被告知COM互操作是让DLL在我的项目中工作的一种方法(另一种是C++/CLI)。问题是我不知道如何开始,因为我以前从来没有做过这样的事情,而且微软关于这个问题的文档也没有真正的帮助


如果有人能给我指出正确的方向,那我将不胜感激。

这里有一些很好的资源可以帮助您开始:

  • (包括使用C++中的COM)

也就是说,您还需要确保您的.NET项目已设置为通过COM公开这些类。确保在项目设置中启用
注册COM互操作
,并用标记适当的类型(除非使整个程序集
ComVisible
,在这种情况下,您将用
[ComVisible(false)]
标记不想公开的类型)

如果您对COM或C++/CLI都不了解,那么使用C++/CLI更有可能使该项目有一个好的结局。COM的学习曲线非常陡峭。谢谢。我必须研究如何用C++/CLI编写。我几个月前才开始编程,所以这对我来说是全新的。谢谢你的回复。我尝试打开Register for COM Interop,但在我的项目中它不是一个选项。我查看了它的文档,显然它只在VB或C#项目中工作?可能是我没有说得更具体。该项目是一个C++控制台应用程序,DLL是.NET程序集。我更愿意使用C++项目,但必须是C++。我被告知使用C++/CLI可能更容易,但这也是我以前从未涉及过的另一个领域。但是谢谢你的帮助。