gpt4 book ai didi

c# - Visual C# - 引用 > 添加引用... > COM : How is that list populated?

转载 作者:搜寻专家 更新时间:2023-10-31 01:48:43 24 4
gpt4 key购买 nike

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

我的 COM DLL 还没有完成,但是我定义了 DllRegisterServerDllUnregisterServer 函数,它们在 HKEY_CLASSES_ROOT 和子键中写入了很多东西。其中,我有以下键:

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 对象会出现在那里?我错过了什么?

编辑

我知道 Browse 选项卡,但我的印象是 first-class 注册的 COM 对象应该在没有显式搜索的情况下显示,但也许事实并非如此。

最佳答案

Sub Key: 1.0

必须在类型库显示在 COM 选项卡中之前分配此键的默认值。它必须包含类型库的描述。样板短语是“Acme Foo Type Library 1.0”,其中“Acme”是您的公司名称,“Foo”是服务器或产品名称。

否则我更喜欢使用浏览选项卡,COM 选项卡太慢了。你会发现:)

关于c# - Visual C# - 引用 > 添加引用... > COM : How is that list populated?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17397362/

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