c# - 注册 C# dll 以在 MS Access VBA 中使用
问题描述
我在 C# 中创建了一个类库,在 Visual Studio 上称为 SimpleCalc,我想在 Access VBA 中使用它。
在这篇文章之后,我能够让它在开发笔记本电脑上工作。
但是,我现在正试图让它在最终用户的计算机上运行,但我无法弄清楚。
我把构建项目时由visual studio生成的dll文件复制到用户的计算机上,然后我开始尝试注册它。
要注册,我需要使用命令 regsvr32 但这给了我一个错误,说 DLL 已加载但未找到 DllRegister Server 入口点。
所以我开始使用 Regasm.exe 来注册 dll。
这能够注册 dll,但是当我尝试在 Access 的 VBA 编辑器中添加引用时,我收到一条错误消息,提示“无法添加对指定文件的引用”。
有什么我忽略的或者我应该怎么做?
解决方案
正如 Simon、Mathieu 和 Hans 在评论中所说,我需要使用 /codebase 并引用 .tlb 文件。
但是我还需要使用强名称对程序集进行签名,并且按照这篇文章,我可以通过 Visual Studio 这样做。
推荐阅读
- c++ - Valgrind 报告嵌套 shared_ptrs 的 =operator 读取错误
- c# - 将 ViewModel 传递给 Controller 不能完全正常工作
- bash - 服务关闭时重新尝试 docker-compose logs -f 吗?
- wagtail - 在 Wagtail 流场模板中,如何检查结构块内结构块的字段是否为空?
- javascript - Android 不提供 Geolocation ionic 4
- c++ - 将 '\\x00\\x00\\x00' 格式的字符串转换为无符号字符数组
- android - 在 RecycleView 中滑动以删除
- policy - XACML AuthzForce - 评估不是 XACML 3.0 格式的请求
- java - Java:如果值使用流匹配,则组合两个映射键
- javascript - Typescript中静态子类方法类型的类型