首页 > 解决方案 > 注册 C# dll 以在 MS Access VBA 中使用

问题描述

我在 C# 中创建了一个类库,在 Visual Studio 上称为 SimpleCalc,我想在 Access VBA 中使用它。

在这篇文章之后,我能够让它在开发笔记本电脑上工作。

但是,我现在正试图让它在最终用户的计算机上运行,​​但我无法弄清楚。

我把构建项目时由visual studio生成的dll文件复制到用户的计算机上,然后我开始尝试注册它。

要注册,我需要使用命令 regsvr32 但这给了我一个错误,说 DLL 已加载但未找到 DllRegister Server 入口点。

所以我开始使用 Regasm.exe 来注册 dll。

这能够注册 dll,但是当我尝试在 Access 的 VBA 编辑器中添加引用时,我收到一条错误消息,提示“无法添加对指定文件的引用”。

有什么我忽略的或者我应该怎么做?

标签: c#.netvbacominterop

解决方案


正如 Simon、Mathieu 和 Hans 在评论中所说,我需要使用 /codebase 并引用 .tlb 文件。

但是我还需要使用强名称对程序集进行签名,并且按照这篇文章,我可以通过 Visual Studio 这样做。


推荐阅读