tags:

views:

132

answers:

3

I have a web application from a company that has gone out of business. We're looking to extend the web app a bit with some asp.net functionality. The web app was written as an ISAPI application in Delphi, and uses COM+ to talk to the SQL Server and handles things like session management and authentication.

So, in order to get the current user and other details, I have to use the undocument COM+ components. I was able to dig out the type library and auto generated IDL, but at this point i'm lost in creating a .NET proxy class for this.

Is there a way to autogenerate the .net COM+ proxy either from the .dll itself (extracting the typelib info) or from the IDL?

Note: These seem to be simple COM style objects hosted in COM+ servers, no subscriptions or transaction monitoring..

+1  A: 

Run Tlbimp.exe on the type library to generate the .NET interop assembly for it.

Hans Passant
+3  A: 

You could use tlbimp.exe to generate C# proxy classes from your COM library.

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

If you don't have the tlb it works also with COM dlls. Once the COM wrapper assembly generated you can reference it in your project and use the types inside as you would any other .NET class.

Possible location of tlbimp.exe : C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\TlbImp.exe or use the Visual Studio Command Prompt.

Darin Dimitrov
Worked great. Thanks. Sadly, it's so difficult to google for this information these days.. or maybe my goo-fu is lacking.
Mystere Man
A: 

Have you tried going to the references in your project, right clicking, add reference, then browsing to the dll. I think visual studio will generate the Runtime Callable Wrapper for you.

Steve Sheldon