.net - 使 DLL COM 可访问

标签 .net vb.net com vb6 vb6-migration

我有一个用 .Net 编写的类库,我想将它提供给 VB6/VBA。我试过的没有用(显然我在问这个问题)。这是我所做的:

  • 我在 Visual Studio 2010 Express 中创建了一个类库项目并将代码放入一个类模块中。
  • 我打开项目属性并转到“程序集信息”并选中“使 COM 可见”。
  • 我去了“高级编译”选项并针对.Net 2.0(这是非常简单的代码)。
  • 然后我删除了所有对“系统”的引用。
  • 我构建了项目(没有警告或错误)并将 DLL 从 Bin 文件夹复制到 C:\Windows\System32\
  • 我运行 RegSvr32 来注册 DLL 并得到错误:

  • The module "MyDll.dll" was loaded but the entry-point DLLRegisterServer was not found.

    Make sure that "MyDll.dll is a valid DLL or OCX file and then try again.



    显然我的第一次尝试有点天真。有人可以提供指导吗?

    最佳答案

    第 6 步是错误的。具有 [ComVisible] 类型的 .NET 程序集在 Regasm.exe 中注册。如果您不想将 DLL 安装到 GAC 中,请使用/codebase 命令行选项。/tlb 命令行选项创建类型库,您可以在 VB6 项目中使用它。

    关于.net - 使 DLL COM 可访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3346620/

    相关文章:

    vb.net - 如何通过反射对对象的可为空属性调用 HasValue?

    vb 代码中的 MySQL 命令不起作用

    c# - 使用 ATL/COM 将托管字节 [] 转换为非托管字节数组

    c# - 无法使用从 skydrive 获取的文件流来创建 BitmapImage

    c# - 在调用 Icon.ToBitmap() 之后处理 Icon 是否安全?

    mysql - VB.NET 中的自动编号

    node.js - 从node.js调用COM模块

    Excel Automation with Haskell 出现段错误

    c# - 在 FTP 上上传文件

    .net - .Net 有没有比 O(n log n) 更快的稳定排序算法?