How do I generate COM interop proxies into C# sour

2019-02-23 01:00发布

问题:

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?

回答1:

Take a look at the following MSDN article:

  • How to: Create Wrappers Manually (Talks about how to create your interop assembly manually.)

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.



回答2:

I do not know simpler way, and extract interface descriptions via Reflector. However in VS 2010 Microsoft will do this for you automatically.