【问题标题】:Cannot add COM DLL as reference to VS 2012 Project无法添加 COM DLL 作为对 VS 2012 项目的引用
【发布时间】:2014-01-12 03:55:19
【问题描述】:

我正在尝试添加使用 Visual Studio .NET 2003 ATL COM 项目构建的 COM DLL,当我点击浏览并选择 DLL 时,出现以下错误

A reference to 'MyCOM.dll' could not be added. Please make sure that the file is accessible, and that it is a valid assembly or COM component.

但是当我使用 RegSvr32.exe 注册它并使用引用窗口中的 COM 窗格浏览它并添加它时,它工作正常。

如何只添加 dll 而无需注册?

【问题讨论】:

    标签: visual-studio-2012 dll


    【解决方案1】:

    这并不容易,因为 COM 总是使用注册表来查找 DLL。在代码中,您仅使用其 GUID 引用库,而不是其在文件系统中的位置。幸运的是,这并不完全正确(不再如此)。有两种方法可以规避:

    • 使用无注册 COM,这需要您将清单添加到可执行文件。这包含注册信息而不是注册表。谷歌免费注册 COM 和清单。
    • 通常,也可以以普通方式链接 dll(使用 lib 文件)并使用简单的 new 调用创建“COM”对象。不过,这要求您拥有完整的头文件。而且它不再真正使用 COM。

    【讨论】:

      猜你喜欢
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 2013-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-28
      • 1970-01-01
      相关资源
      最近更新 更多