我们有这个配置:
应从 mainApp 应用程序调用 DLL 来执行此操作:
问题1:我无法测试它,因为我无法从VB6 IDE引用我的dll。
我尝试从 VB6 添加对我的 dll 的引用,但失败了。 尝试 regsrv32.exe 我的 dll,但出现以下错误:
模块“mydll.dll”已加载,但未找到入口点 DllRegisterServer。确保“mydll.dll”是有效的 DLL 或 OCX 文件,然后重试。'
问题2:现在我已经正确创建了DLL并注册了它,我正在尝试调试maniApp和DLL,我在DLL中有断点,但从未被击中。
我该怎么办?
在@GSerg 的帮助下,我找到了正确的方向,我成功找到了适合我的案例的解决方案。我的目标是能够使用 DLL 并同时调试两个项目。
这些是遵循的步骤
中启用
Register for COM interop
Make assembly COM-Visible
sn -k "path-to-key\myKey123.snk"
中)regasm "full-path-to-my-dll\\mydll.dll" /tlb:"full-path-to-my-tlb\\mydll.tlb"
)gacutil /i "path-to-mydll-debug-folder\mydll.dll"
)Start External Program
并浏览到 VB6.exe 的位置。每次在 C# 类库项目中进行更改时都要再次挖掘步骤 6 和 7
更新: 所有引用的项目必须更改为 x86(项目属性 > 构建 > 平台目标)并使用强名称进行签名(项目属性 > 签名 > 签署程序集复选框并选择或创建强名称密钥文件)
资源: