Visual C#-引用>;添加引用>;COM:这个列表是如何填充的

本文关键字:gt 引用 何填充 填充 添加 C#- COM Visual 列表 | 更新日期: 2023-09-27 18:20:26

我正试图在Visual C++2010(速成版)中开发一个COM组件,我希望能够从Visual C#2010(速成)程序中使用它。

我的COM DLL还不完整,但我定义了DllRegisterServerDllUnregisterServer

HKEY_CLASSES_ROOT'My.Components.1'CLSID
    Default Value: {DB05EA30-0320-4D40-A530-6DEAD03D3850}
HKEY_CLASSES_ROOT'CLSID'{DB05EA30-0320-4D40-A530-6DEAD03D3850}
    Default Value: My Components
    Sub Key: InprocServer32
        Default Value: Absolute path of the .dll
        Threading Mode: Apartment
    Sub Key: ProgID
        Default Value: My.Components.1
    Sub Key: TypeLib
        Default Value: {DB05EA31-0321-4D41-A531-6DEAD03D3851}
    Sub Key: Version
        Default Value: 1.0
HKEY_CLASSES_ROOT'TypeLib'{DB05EA31-0321-4D41-A531-6DEAD03D3851}
    Sub Key: 1.0
        Sub Key: 0
            Sub Key: win32
                Default Value: Absolute path of the .tlb

Microsoft JScript能够尝试COM对象的实例化,尽管由于工厂不完整,所做的只是输出DllGetClassObject的错误代码。

另一方面,Visual C#2010(或者至少是"添加引用…"窗口)似乎没有注意到已注册的COM对象的存在,该对象没有显示在列表中。我很清楚,这些对象只是已安装COM对象的一个子集。

COM对象将在什么时候出现在那里?我错过了什么?

编辑

我知道浏览选项卡,但我的印象是,一级注册的COM对象应该在不显式搜索的情况下显示,但事实可能并非如此。

Visual C#-引用>;添加引用>;COM:这个列表是如何填充的

Sub Key: 1.0

必须先指定此键的默认值,然后类型库才能显示在COM选项卡中。它必须包含类型库的说明。样板短语是"Acme Foo Type Library 1.0",其中"Acme"是您的公司名称,"Foo"是服务器或产品名称。

使用"浏览"选项卡是我的首选,因为COM选项卡太慢。您会发现:)