我在VisualStudio2010Express中编写了一个VB.NET类库。我确保在Properties->Application->选项卡上选择“Visible”。我还确保在属性窗口的编译选项卡上选择“”。
生成的DLL在编译该项目的计算机上运行良好。DLL旨在对Excel中的几个输入数组执行一些繁重的处理,并返回一个输出数组。我可以在VBA中添加对DLL的引用,并很好地使用该功能。
我想不出如何在其他机器上安装DLL。我确保将.NET更新到部署机器上的当前版本。然后运行以下批处理文件:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe "C:\Users\Public\DRAPERLibrary.dll“/codebase /tlb:DRAPERLibrary.tlb
这个对RegAsm的调用返回时没有错误。
我可以看到Windows注册表对这个DLL有一些新的引用,但在Excel中看不到DLL。如果我手动浏览到DLL,它将返回错误“无法添加对指定文件的引用”。
我哪里出问题了?Visual正在做什么来创建Excel引用?有什么东西我可以添加到我的批处理文件,使Excel识别这个DLL作为一个可用的参考在VBA?
非常感谢你抽出时间来回应。
发布于 2014-12-03 21:25:09
我今天能让DLL在其他机器上工作。我最初犯了几个错误,导致DLL失败。我的问题源于使用64位版本的RegAsm而不是32位版本注册DLL。下面列出的操作顺序是最终解决这一问题的原因。
感谢@HansPassant帮助我解决所有这些问题。
https://stackoverflow.com/questions/27237649
复制相似问题