2009-06-29 5 views
5

Questa domanda è un seguito su un answer per Paul Alexander alla domanda "Should interop assemblies be signed?".Come si generano i proxy di interoperabilità COM nel codice sorgente C#?

A seconda della complessità degli assiemi di interoperabilità, è possibile generare il codice proxy in un file .CS/.VB separato e compilarlo direttamente nell'assieme. Quindi non dovrai preoccuparti di problemi con i nomi forti.

Come dovrei fare per generare il codice proxy interop per una libreria COM nel codice sorgente C#?

Suppongo che si possa fare con tlbimp e quindi estrarre la sorgente con Reflector. Qualcuno ha fatto questo o c'è un modo più semplice?

risposta

6

Date un'occhiata al seguente articolo di MSDN: (. Parla di come creare l'assembly di interoperabilità manualmente)

Una volta che hai l'assembly di interoperabilità, utilizzare uno strumento come Reflector per disassemblarlo e generare la sorgente C# non elaborata. Reflector.FileDisassembler rende questo veramente facile.

Ora è possibile includere le sorgenti C#/VB generate direttamente nell'assieme.

3

Non so il modo più semplice ed estrarre le descrizioni di interfaccia tramite Reflector. Tuttavia in VS 2010 Microsoft lo farà per te automatically.