我有一家公司的网络应用程序已停业。我们希望通过一些asp.net功能扩展Web应用程序。 Web应用程序在Delphi中编写为ISAPI应用程序,并使用COM +与SQL Server通信并处理会话管理和身份验证等事项。
因此,为了获得当前用户和其他细节,我必须使用无证件的COM +组件。我能够挖掘出类型库和自动生成的IDL,但是在这一点上我为此创建了一个.NET代理类。
有没有办法从.dll本身(提取类型库信息)或从IDL自动生成.net COM +代理?
注意:这些似乎是COM +服务器中托管的简单COM样式对象,没有订阅或事务监视。
答案 0 :(得分:3)
您可以使用tlbimp.exe从COM库生成C#代理类。
tlbimp.exe myTest.tlb /out:myTest.dll
如果您没有tlb
,它也适用于COM dlls
。生成COM包装程序集后,您可以在项目中引用它,并像使用任何其他.NET类一样使用内部类型。
tlbimp.exe
的可能位置:C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\TlbImp.exe
或使用Visual Studio命令提示符。
答案 1 :(得分:1)
在类型库上运行Tlbimp.exe以为其生成.NET互操作程序集。
答案 2 :(得分:0)
您是否尝试过访问项目中的引用,右键单击,添加引用,然后浏览到dll。我认为visual studio会为你生成Runtime Callable Wrapper。