我在vs 2010中使用所有Com + attributes.i创建了一个C#dll,创建了一个强密钥,并且
this strong key to Application properties
and register it to the assembly:
sn -k ComPlusClass.snk
Use VS tool to register the assembly as:
regasm ComPlusExample.DLL
Create a Type Library using the tool:
`tlbexp ComPlusExample.DLL
Register it in COM+ as:
regsvcs ComPlusExample.DLL
后来我在vb6中创建了一个应用程序,并在refrences.Everthing中添加了生成的.tlb。我可以从vb6调用c#dll。但我需要将此代码提供给我的客户端,并且无法在那里运行所有这些步骤。
所以对于这个我创建的exe通过右键单击我在COM + .i中的应用程序在我的客户端系统上安装了这个exe。但是当我从progmramfiles添加tlb的参考时它显示错误module can't be found
。plz在这方面帮助我。创建exe是将com +从一个系统导出到另一个系统的正确方法..
答案 0 :(得分:0)
您的应用程序依赖于.NET Framework,因此必须在要部署的客户端计算机上运行“regsvcs”命令。如果你只是导出库并导入到COM +我不相信必要的CCW(COM可调用包装器)条目被添加到Windows注册表。
因此,我建议创建一个批处理文件,该文件使用您需要的参数运行“regsvcs”命令。您不需要在客户端上生成TLB文件,因为它仅在开发时使用。
当然,您也可以创建一个项目安装程序,为您执行此操作,但如果您正在寻找快速解决方案,批处理文件将执行此操作。