问题描述
我正在开发一个.net组件(.dll),它需要充当两个客户端的服务器:其中一个是c ++-native,另一个是.net。
要使用服务器使用本机客户端,该服务器具有COM接口,并通过regasm
注册:
[
Guid("B9BE47C8-2838-4449-B2C4-22B07F52EEA6"),InterfaceType(ComInterfaceType.InterfaceIsDual),ContractClass(typeof(IComMethodsLicenseServerContracts)),ComVisible(true)
]
public interface ILicenseServer{...}
本机客户端通过#import "server.tlb" named_guids
将其导入客户端
我以为.net客户端也可以使用COM接口,但是我知道tlbim
不适用于.net-dll,因此客户端必须像普通的.net-一样使用它。参考。
在目标计算机上,两个客户端可以一起安装或单独安装。 为了避免版本冲突,我只需要在目标计算机上安装一次服务器组件。 我以为我必须让安装程序将服务器组件放在目标计算机上的%program files%\ common-files中的某个位置并注册它,但这似乎不适用于.net客户端(因为它不使用COM,因此找不到服务器。)
这里要做什么?除了服务器(及其所有依赖项)进入目标计算机的GAC之外,这是否是正确的解决方案?如果是这样,如何将其作为本机客户端的COM组件重新加气?我是否需要知道GAC的确切路径?
好像我有点卡住;-(
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)