Pregunta

Acabo de terminar de construir mi nuevo proyecto COM (C #, .NET 3.5). Este proyecto será llamado por una aplicación VFP. Funciona muy bien en mi máquina de desarrollo, pero ahora necesito saber cómo implementarlo en la máquina del usuario. Hacer clic una vez no está disponible para este tipo de proyecto, así que supongo que no puedo distribuir manualmente la DLL.

Entonces, ¿dónde debo colocar el archivo DLL y cómo lo registro?

Por cierto, el marco 3.5 ya está instalado en la máquina del usuario.

TIA

¿Fue útil?

Solución

Realmente nunca he usado RegSvr32 con ensamblados .Net, sino que uso el regasmo con la opción / codebase:

    C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm.exe /codebase mydll.dll

También puede usar la opción / tlb para exportar la biblioteca de tipos y registrarla.

Por supuesto, la forma más fácil, simplemente cree un instalador con vstudio y lo hará por usted.

Otros consejos

Creación de una descripción de la clase COM y las interfaces

Los ensamblados .Net no incluyen información en formato compatible con la biblioteca de tipos. Por lo tanto, es necesario que el programador ejecute una de las dos utilidades proporcionadas por .Net para extraer la descripción del ensamblado de una clase en un archivo de biblioteca de tipos.

Una utilidad es TLBEXP.EXE, el exportador de biblioteca de tipos .Net. Esta utilidad de línea de comandos toma como entrada el nombre de un archivo DLL de ensamblaje para convertirlo en una biblioteca de tipos. El programador también puede especificar el nombre de un archivo de biblioteca de tipos que se creará.

tlbexp ComServer.dll /out:ComServer.tlb

Assembly exported to C:\Magellan\Source\Output\Debug\ComServer.tlb

Una vez que se ha creado una biblioteca de tipos, un cliente COM puede hacer referencia a ella para obtener la información necesaria para que el cliente COM se una a las interfaces de la clase COM y active la clase COM en tiempo de ejecución.

Registro de la clase COM y las interfaces

Para que el cliente pueda acceder a una clase COM en tiempo de ejecución, la infraestructura COM debe saber cómo ubicar el código que implementa la clase COM. El siguiente comando logra esto:

regasm ComServer.dll

Su DLL se puede colocar en cualquier lugar que desee, pero una buena opción es C: \ Archivos de programa \ MyApplication.

http://www.csharphelp.com/archives/archive190.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top