regasm只是不起作用

时间:2011-02-27 22:53:44

标签: .net regasm

对于在Web中注册.NET COM对象的每个示例,我都看到了用于完成工作的工具“regasm”。每个人都这样做!
但它从来没有对我有用!我厌倦了试图克服它!我唯一的解决方案是regsvr32,它需要一个我只能用C ++定义的函数 请告诉我为什么不能正常工作!

考虑到它不能在我的所有4台计算机上运行,​​再加上3台虚拟机,将Windows 7运行到2000,是否有人可以向我展示一个关于regasm呼叫的工作示例?我想我是个白痴。

2 个答案:

答案 0 :(得分:8)

无法使用Regsvr32.exe注册[ComVisible] .NET程序集。它没有Regsvr32所需的DllRegisterServer入口点。您必须使它与Regasm.exe或安装项目一起使用。将服务器部署到另一台计算机时,后者是必需的。

失败模式很少。除了:

  • 忘记使用/ codebase选项。如果您不将程序集部署到GAC,则必需,这是您在开发计算机上不应该执行的操作。

  • 使用错误版本的Regasm.exe。 64位计算机上有两个,如果客户端代码是64位,则Framework64目录包含您必须使用的目录。

  • 从未提升的命令提示符运行它。 Regasm.exe写入注册表的HKLM配置单元,这是UAC主动阻止的。这是Vista和Win7的一个问题。

当然也可能让装配严重错误。不要创建一个或多个接口和/或类[ComVisible]。

答案 1 :(得分:0)

它可能,我以前遇到过这个挑战,我在cmd窗口上运行了这个代码并且它有效 我发现它依赖于.net框架的版本,程序集是buit 复制并粘贴以下代码

 %SystemRoot%\Microsoft.NET\Framework\v4.0.30319\regasm.exe MyAssembly.dll

如果适合您,请投票。