C# – How to generate COM interop proxies into C# source code

ccominteropnet

This questions is a follow up on an answer by Paul Alexander to the question "Should interop assemblies be signed?".

Depending on how complex your Interop assemblies are – you can generate the proxy code into a separate .CS/.VB file and compile it directly into your assembly. Then you won't have to worry about strong name issues.

How would I go about generating the interop proxy code for a COM library into C# source code?

I guess it could be done with tlbimp and then extracting the source with Reflector. Has anyone done this or is there a simpler way?

Best Answer

Take a look at the following MSDN article:

Once you've got the interop assembly, use a tool like Reflector to disassemble it and generate the raw C# source. Reflector.FileDisassembler makes this really easy.

Now you can include the generated C#/VB sources directly into your assembly.