部署一个DLL(COM对象)到Excel VBA参考
我开发了(VB.Net)VS2010中的一个DLL在Excel中使用(Windows 7 64位与32位Office 2010)
类库具有“使程序集COM可见”和“注册COM互操作”选中。
目标CPU使用.Net 4.0 Framework设置为x86。
当我在开发计算机上构build这个DLL时,可以在Excel vba中selectDLL作为参考,Excel将正确执行DLL。
当我试图将DLL部署到其他Window 7机器时,问题出现了。
我已成功(?)使用以下命令行注册DLL(作为pipe理员)
C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe "C:\Program Files\CompanyName\XXX_DLL.dll"
但是DLL不会出现在Excel vba中作为参考select。
我在哪里犯了一个错误/我在做什么错了?
非常感谢。
如果您希望注册不在GAC中的COM程序集,则需要将/codebase
参数添加到对RegAsm的调用中
尝试这个:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe "C:\Program Files\CompanyName\XXX_DLL.dll" /codebase
RegAsm文件
您还需要用强名称在您的程序集上签名。
请注意,“注册COM Interop”仅适用于进行构build的机器(避免在每次构build之后运行RegAsm,部署时不起作用。