我从C#Visual Studio 2008创建了一个dll和tbl文件。
我Regasm AssemblyName.dll /tlb: FileName.tlb /codebase
将其注册到我的本地服务器。
使用tlb参考。编译它,它在我的开发PC中运行良好。
创建exe后,在其他PC上运行,提示错误消息“ActiveX无法创建对象”。
我需要为我部署的每台机器使用Regasm吗?
如果部署PC中没有Visual Studio,该怎么办?没有可以找到任何谴责。
答案 0 :(得分:1)
是的,您需要将其作为安装的一部分。但这只是其中的一部分。您还必须使用属性标记所有公共方法,以确保重新编译不会意外地以错误的顺序编译方法。见this
答案 1 :(得分:0)
是的,我认为您需要在安装过程中执行此操作。
答案 2 :(得分:0)
是的,您需要在每台客户端计算机上运行RegAsm
。如果您的组件发生了更改,则需要运行RegAsm ... /unregister
,将组件替换为新组件并再次运行RegAsm
。
为了让您的C#DLL工作,您还需要在机器上安装相关框架(在您的情况下为.NET Framework 3.5)
我会考虑使用安装程序,因为这可以执行注册/取消注册和在需要时自动安装框架的繁重工作。