2010-04-11 60 views
0

我有一家公司的Web应用程序停业。我们希望通过一些asp.net功能来扩展Web应用程序。该Web应用程序在Delphi中被编写为ISAPI应用程序,并使用COM +与SQL Server交谈并处理会话管理和身份验证等内容。如何从C#使用COM +本地服务器?

所以,为了获得当前用户和其他细节,我必须使用非文档COM +组件。我能够挖掘出类型库和自动生成的IDL,但在这一点上,我迷失在为此创建.NET代理类。

有没有办法从.dll本身(提取typelib信息)或从IDL中自动生成.net COM +代理?

注意:这些似乎是在COM +服务器,没有订阅或交易监控托管简单的COM样式对象..

回答

3

您可以使用tlbimp.exe从您的COM库生成C#代理类。

tlbimp.exe myTest.tlb /out:myTest.dll 

如果您还没有它的工作原理也与COM dllstlb做。一旦生成了COM包装程序集,就可以在您的项目中引用它,并像使用其他.NET类一样使用其中的类型。

tlbimp.exe的可能位置:C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\TlbImp.exe或使用Visual Studio命令提示符。

+0

工作很好。谢谢。可悲的是,这些日子里对于这些信息很难谷歌......或者我的goo-fu缺乏。 – 2010-04-11 20:06:23

1

运行Tlbimp.exe将类型库生成.NET互操作程序集吧。

0

你有没有试过去参考你的项目,右键单击,添加引用,然后浏览到dll。我认为Visual Studio会为您生成Runtime Callable Wrapper。

相关问题