2010-04-11 52 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。

相關問題