¿Hay alguna herramienta de código abierto para generar automáticamente .NET wrappers para una biblioteca COM DLL?¿Herramienta para crear contenedores .NET para una DLL COM?
Respuesta
Puede intentar usar SWIG que es capaz de generar el código de contenedor para 18 languages. También this MSDN article podría ser útil.
No hay envoltorio necesario para utilizar un objeto COM en .NET. En Visual Studio, haga clic con el botón derecho en el nombre de su proyecto en el Explorador de soluciones y seleccione "Agregar referencia". Todos los objetos COM registrados se mostrarán en la pestaña COM.
Los contenedores de interoperabilidad solo son necesarios cuando se usan ensamblajes .NET como si fueran objetos COM, y no al revés, como se ha descrito en la pregunta.
Supongo que por su solicitud de "código abierto" no está usando Visual Studio. –
Bueno, si usa C# (en .NET como dice su pregunta, no en Mono, por ejemplo), en CUALQUIER versión disponible, tiene acceso a VS. TlbImport ha sido mencionado en otro lugar. –
Puede usar la herramienta de línea de comandos para Type library import tool y generará un conjunto de interoperabilidad para su uso en su proyecto.
El importador de biblioteca de tipos convierte las definiciones de tipo encontradas en una biblioteca de tipo COM en definiciones equivalentes en un ensamblado de tiempo de ejecución de lenguaje común.
Si está utilizando VS.net podrá hacerlo a través del IDE. De lo contrario, creo que esta herramienta está disponible gratuitamente (según su solicitud de código abierto).
@David Eso no es necesariamente cierto. Usando los diferentes argumentos de línea de comando en TLBImport, puede cambiar la forma en que se genera el código del contenedor. También puede usar la herramienta para generar un PIA (conjunto de interoperabilidad primario). No puede hacer eso solo con Agregar referencia en VS. – Nick
¿Qué hay de tlbimp
typelib importer? La documentación de MSDN es here.
Espero que esto ayude.
Sí, el código fuente para Tlbimp.exe está disponible. Descárguelo desde here...
thx, eso es lo que estaba buscando (quiero personalizar un poco el proceso de importación) –
- 1. ¿Cómo encuentra un programa COM una DLL .NET registrada para COM Interop?
- 2. Mejor herramienta para crear MSI
- 3. registrando com dll en wix
- 4. Haciendo que una DLL COM esté accesible
- 5. Tlbexp.exe en un DLL COM
- 6. El registro de un DLL COM NET durante Wix Instalar
- 7. Registro Com y dll manifiestos
- 8. Fuerza la interoperabilidad de .NET para utilizar el DLL COM local
- 9. ¿Hay alguna herramienta como Reflector para bibliotecas COM?
- 10. Cómo determinar si DLL es COM o .NET?
- 11. UML herramienta gratuita, ideal para .NET
- 12. ¿Debo crear DLL para la modularidad?
- 13. Data.Foldable para contenedores desordenados
- 14. Cómo crear archivos dll en matlab y usar estos dll en aplicaciones .Net
- 15. Escribir una DLL en C/C++ para la interoperabilidad .Net
- 16. ¿Es posible usar Java para crear dll?
- 17. Herramienta gratuita para crear/editar imágenes PNG?
- 18. ¿Existe una buena herramienta para crear diagramas mediante programación?
- 19. elegir una herramienta para crear/mantener eclipse personalizado distrib
- 20. Herramienta de línea de comandos para encontrar dependencias Dll
- 21. Automatización de error al crear instancias de una clase COM visibles .Net
- 22. Herramienta para crear automáticamente datos para el modelo django
- 23. Cómo crear DLL C# para usar en PHP
- 24. ¿Qué es "mejor": DLL COM o DLL estándar con Typelib?
- 25. .NET - ¿Cómo depurar una DLL?
- 26. com + alternativa en .net?
- 27. DLL .NET para el lenguaje natural a SQL/SPARQL
- 28. ¿Es posible construir una DLL .NET con tipos visibles COM sin VS que requiera elevación?
- 29. La diferencia entre DLL tradicional y COM DLL
- 30. NSJSONSerialization no crear contenedores mutables
Indique por qué necesita que sea de código abierto. –