我正在使用.NET 4 (VS2010, C#)开发DCOM服务器,单独运行正常。现在我需要为这个DCOM服务器开发一个.NET客户端,但是我无法添加对TypeLib的引用。Visual Studio会告诉我,该类型库是从.NET程序集中导出的,无法作为引用添加。
此问题的答案表明,我应该能够使用
我尝试将我的tlb转换为IDL,并从中重新生成tlb,但这并不能欺骗Visual Studio。
也许可以在重新生成之前稍微修改IDL,或者有一种方法可以强制使用DCOM,即使服务器和客户端都是使用.NET编写的?
TlbImp.exe
生成包装器程序集,但它也会拒绝执行:
我明白从纯粹的.NET角度来看,使用DCOM可能没有多大意义。但是,同一服务器还应该可以从非.NET应用程序中访问。TlbImp:错误TI1029:类型库'MyWrapper'是从CLR程序集导出的,无法重新导入为CLR程序集。
我尝试将我的tlb转换为IDL,并从中重新生成tlb,但这并不能欺骗Visual Studio。
也许可以在重新生成之前稍微修改IDL,或者有一种方法可以强制使用DCOM,即使服务器和客户端都是使用.NET编写的?