首先,我是COM的新手,目前很困惑.我已经在MSDN和一般网络上阅读了很多关于COM的文档,但是很多文档看起来已经过时且过于复杂.
以下是我认为有必要让它发挥作用.它还没有,所以我肯定我错过了一些东西,但是通过给我的食谱,我希望有人能发现问题:
创建一个C#控制台应用程序项目.我把它命名为CSharpApp
创建一个C++ ATL项目.我称之为ComLib.Interop.
添加类(模板:ATL简单对象),我称之为"InteropDemo"
在类视图中,右键单击IInteropDemo并添加方法HelloWorld.
(删除,保持编码正确答案.)
编译.
将ComLib.Interop.dll的引用添加到CSharpApp.
在已编译的COM dll上调用regsrv32.exe,然后在"添加引用..."的COM选项卡中选择DLL.
在Program.cs,Main中,创建一个InteropDemo类并调用HelloWorld.
利润.
感谢答案,我更新了问题,以反映综合解决方案.