出于项目需要,得把一个基于CORBA的idl(接口定义文件)转为dll以供.net项目引用,琢磨了很久,也走了不少弯路,把最后成功的办法写下了,mark给自己,也分享给有需要的朋友。
(Vistual studio自带的 midl工具走不通,和我的idl文件内容相关,但具体原因因为没有细究idl语法与编译机制,不深谈)
我用的是IIOP.NET,这是一种通过使用基于corba的IIOP支持.NET、javaEE和corba组件实现无缝互操作的技术,具体介绍网上一搜一大把,就不赘述了,编译步骤如下:
1、官网(http://iiop-net.sourceforge.net/index.html)下载项目的源文件并编译,生成相应的dll文件,供程序引用。(会用到IIOPChannel.dll和IDLToCLSCompiler.exe)
2、将要编译的idl文件放至IDLToCLSCompiler.exe同目录下,在cmd中打开该目录
3、执行命令IDLToCLSCompiler dll文件名(无后缀) idl文件名(带后缀)(如IDLToCLSCompiler daqservice daqservice.idl),生成dll文件
4、在项目中引用生成的dll文件与之前在官网下载的IIOPChannel.dll,即可调用原idl中的的方法