1

我们如何使用 regasm.exe 为 DLL 创建 CLSID

实际上,我想在网络上使用 Windows 应用程序,我找到了一篇文章,我在下面发布了链接

http://www.codeproject.com/Articles/14276/Using-Windows-Application-on-web

在上面的文章中,我在第 10 步附近面临问题,其中指出:“现在通过使用“regasm.exe”创建 dll 的 CLSID 并将其放置在注册表中,exe 文件位于“C:\ WINDOWS\Microsoft.NET\Framework\v1.1.4322\"."

我不确定如何为 dll 创建 CLSID?

4

3 回答 3

1

CLSID 标识 COM 类对象,而不是 DLL。

当您使用 regasm 注册您的程序集时,将为您的程序集中的每个 ComVisible 类注册一个 CLSID。

您可以通过Guid在类上放置属性来指定所需的 CLSID:

[GuidAttribute("12345678-9012-3456-7890-123456789abc")]
public sealed class MyComVisibleClass ...

或者如果您不使用此属性,它将自动生成。

如果它是自动生成的,您可以使用“OLE Viewer”或类似工具检查 regasm 生成的类型库。

于 2012-09-21T12:01:49.423 回答
0

通过调用

regasm.exe /codebase /tlb whatever.dll

根据您的需要,可能不需要 /codebase 或 /tlb(即您也可以尝试 just regasm.exe whatever.dll)。

于 2012-09-21T11:31:42.130 回答
0

CLSID 是全局唯一 ID (=GUID)。它有一个固定的格式(见乔的回答)并且是“随机的”。您可以使用 guidgen.exe 创建一个。许多编辑器和 IDE 都具有创建 GUID 的功能。使用 regasm,您可以在 windows 中注册 COM 类对象的 GUID (=CLSID then)。

于 2012-09-21T12:12:16.633 回答