gpt4 book ai didi

c++ - 如何在 Visual Studio 2012 中创建 HelloWorld COM Interop

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:24:50 24 4
gpt4 key购买 nike

首先,我是 COM 的新手,目前很困惑。我在 MSDN 和一般网络上阅读了很多关于 COM 的文档,但其中很多似乎已经过时且过于复杂。

以下是我认为让它发挥作用所必需的。还没有,所以我确定我遗漏了一些东西,但是通过提供我的食谱,我希望有人能发现问题:

  1. 创建一个 C# 控制台应用程序项目。我将其命名为 CSharpApp
  2. 创建一个 C++ ATL 项目。我称之为 ComLib.Interop。
    • 添加类(模板:ATL Simple Object),我称之为“InteropDemo”
    • 在类 View 中,右键单击 IInteropDemo 并添加方法 HelloWorld。
  3. (已删除,保留以确保答案中的编号正确。)
  4. 编译。
  5. 将对 ComLib.Interop.dll 的引用添加到 CSharpApp。
    • 在已编译的 COM dll 上调用 regsrv32.exe,然后在“添加引用...”的 COM 选项卡中选择 DLL
  6. 在 Program.cs 的 Main 中,创建一个 InteropDemo 类并调用 HelloWorld。
  7. 利润。

感谢这些答案,我更新了问题以反射(reflect)组合解决方案。

最佳答案

尝试按照以下步骤操作:

  1. 确保项目、非托管 C++ 和托管 C# 具有相同的位数,x86 或 x64。为清楚起见,假设它是 x86。
  2. 打开 Admin 命令提示符并注册您的 COM DLL:C:\Windows\SysWOW64\regsvr32.exe c:\full-path\ComLib.Interop.dll
  3. 管理员 身份运行 Visual Studio。执行步骤 1、2、4、5、6。不要做 3。

看看你是否达到 7。我认为这应该可行。

注意你只需要在开发机器上注册。独立的 COM 应该可以在其他任何地方工作。

关于c++ - 如何在 Visual Studio 2012 中创建 HelloWorld COM Interop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21332389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com