与本机和.net项目共享.net-dllcom

问题描述

我正在开发一个.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 (将#修改为@)