0

我有一个已经倒闭的公司的 Web 应用程序。我们希望通过一些 asp.net 功能来扩展 Web 应用程序。Web 应用程序是在 Delphi 中作为 ISAPI 应用程序编写的,并使用 COM+ 与 SQL Server 通信并处理会话管理和身份验证等事情。

因此,为了获取当前用户和其他详细信息,我必须使用未记录的 COM+ 组件。我能够挖掘出类型库和自动生成的 IDL,但此时我迷失在为此创建一个 .NET 代理类。

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

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

4

3 回答 3

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 命令提示符。

于 2010-04-11T19:01:43.200 回答
1

在类型库上运行 Tlbimp.exe 为其生成 .NET 互操作程序集。

于 2010-04-11T19:00:59.223 回答
0

您是否尝试过访问项目中的引用,右键单击,添加引用,然后浏览到 dll。我认为 Visual Studio 会为您生成 Runtime Callable Wrapper。

于 2010-04-11T19:03:58.310 回答