In rari casi ci si può trovare a dover esporre un assembly .Net verso un programma scritto in linguaggio unmanaged. Una delle possibili soluzioni è dotare l'assembly di un'interfaccia COM da poter utilizzare nell'applicativo unmanaged.
Nel video Make Use of Assemblies Written in Any CLS Language della serie How Do I? videos di Microsoft si affronta un semplice esempio di programma WinForm scritto in C# il cui assembly compilato e registrato come oggetto COM viene poi usato da un programma in Visual C++.
I passi fondamentali:
Lato C# bisogna importare System.Runtime.InteropService. Impostare gli attributi di classe ComVisible(true) e ClassInterface(ClassInterfaceType.AutoDual).
Una volta compilato l'assembly bisogna far girare l'utility .net regasm per creare la type library.
regasm /tlb:PhysServer2.tlb PhysServer2.dll.
Poi copiare l'assembly nella stessa directory dell'eseguibile unmanaged che userà la libreria.
Nel video Make Use of Assemblies Written in Any CLS Language della serie How Do I? videos di Microsoft si affronta un semplice esempio di programma WinForm scritto in C# il cui assembly compilato e registrato come oggetto COM viene poi usato da un programma in Visual C++.
I passi fondamentali:
Lato C# bisogna importare System.Runtime.InteropService. Impostare gli attributi di classe ComVisible(true) e ClassInterface(ClassInterfaceType.AutoDual).
Una volta compilato l'assembly bisogna far girare l'utility .net regasm per creare la type library.
regasm /tlb:PhysServer2.tlb PhysServer2.dll.
Poi copiare l'assembly nella stessa directory dell'eseguibile unmanaged che userà la libreria.
Commenti