1

我刚刚完成了我的新 COM 项目(C#、.NET 3.5)的构建。此项目将由 VFP 应用程序调用。它在我的开发机器上运行良好,但现在我需要知道如何在用户机器上部署它。Click Once 不适用于此类项目,所以我想我只能手动分发 DLL。

那么,我应该将 DLL 放在哪里以及如何注册呢?

顺便说一句,3.5 框架已经安装在用户的机器上。

TIA

4

2 回答 2

3

我真的从未将 RegSvr32 与 .Net 程序集一起使用,而是将 regasm 与 /codebase 选项一起使用:

    C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm.exe /codebase mydll.dll

您还可以使用 /tlb 选项导出类型库并进行注册。

当然,最简单的方法是使用 vstudio 创建一个安装程序,它会为您完成此操作。

于 2009-09-18T19:52:34.977 回答
1

创建 COM 类和接口的描述

.Net 程序集不包含类型库兼容格式的信息。因此,程序员有必要运行两个.Net 提供的实用程序之一来将类的程序集描述提取到类型库文件中。

一种实用程序是 TLBEXP.EXE,即 .Net 类型库导出器。此命令行实用程序将要转换为类型库的程序集 DLL 文件的名称作为输入。程序员还可以指定要创建的类型库文件的名称。

tlbexp ComServer.dll /out:ComServer.tlb

Assembly exported to C:\Magellan\Source\Output\Debug\ComServer.tlb

一旦创建了类型库,COM 客户端就可以引用它来获取 COM 客户端绑定到 COM 类的接口所需的信息,并在运行时激活 COM 类。

COM 类和接口的注册

为了让客户端在运行时可以访问 COM 类,COM 基础结构必须知道如何定位实现 COM 类的代码。以下命令完成此操作:

regasm ComServer.dll

您的 DLL 可以放在您希望的任何位置,但一个不错的选择是 C:\Program Files\MyApplication。

http://www.csharphelp.com/archives/archive190.html

于 2009-09-18T19:50:28.927 回答