2009-06-29 5 views
5

Diese Frage ist eine Follow-up auf eine answer von Paul Alexander auf die Frage "Should interop assemblies be signed?".Wie generiere ich COM-Interop-Proxies in C# -Quellcode?

Je nachdem, wie komplex Ihre Interop-Assemblys sind, können Sie den Proxy-Code in einer separaten .CS/.VB-Datei generieren und direkt in Ihre Assembly kompilieren. Dann müssen Sie sich keine Sorgen um starke Namensprobleme machen.

Wie würde ich gehen über die Generierung der Interop-Proxy-Code für eine COM-Bibliothek in C# Quellcode?

Ich denke, es könnte mit Tlbimp getan werden und dann die Quelle mit Reflektor extrahieren. Hat jemand das getan oder gibt es einen einfacheren Weg?

Antwort

6

Werfen Sie einen Blick auf die folgende MSDN-Artikel: (. Talks, wie Sie Ihre Interopassembly manuell erstellen)

Sobald Sie die Interop-Assembly haben, verwenden Sie ein Werkzeug wie Reflector, um es zu zerlegen und die rohe C# -Quelle zu erzeugen. Reflector.FileDisassembler macht dies wirklich einfach.

Jetzt können Sie die generierten C#/VB-Quellen direkt in Ihre Baugruppe einfügen.

3

Ich weiß nicht einfacher Weg und extrahieren Schnittstellenbeschreibungen über Reflektor. In VS 2010 wird Microsoft dies jedoch für Sie tun automatically.