Tabla de Contenido
0. Introducción1. Problema
2. Solución
3. Discusión de la Solución
4. Práctica: Código C#
5. Uso
6. Conclusiones
7. Glosario
8. Referencias
0. Introducción
En ocasiones es posible que requiramos construir una aplicación que no necesite de GUI (interfaz basada en elementos gráficos) y sí una TUI (interfaz de sólo texto). Para lo anterior, es condición sine qua non, el uso de la línea de comandos. Se aprovechará esta situación para crear una librería (.dll) y utilizarla en una aplicación que se ejecute y se presente en la línea de comandos.
1. Problema
Hay dos problemas:
- Crear una librería que pueda ser reutilizada en múltiples aplicaciones.
- Uso de la línea de comandos para la creación de la librería. Se exige que la aplicación/librería no sea construida usando una herramienta con interfaz gráfica. DEBE ser desde la línea de comandos.
2. Solución
Entre las opciones que trae el compilador de C# esta /target a la cual se le puede pasar diferentes argumentos que consisten en el tipo de aplicación que queremos crear: exe, winexe, library. Para esta receta vamos a utilizar el último argumento, por lo tanto la opción nos queda así: /target:library.
Lo anterior fue para la construcción de la librería. Cuando la vayamos a utilizar desde otra aplicación utilizamos la opción del compilador de C# /reference.
3. Discusión de la Solución
Vamos a crear una clase llamada Aritmetica dentro del namespace Utilidades. Además, será necesario confeccionar una clase cliente desde la que podamos referenciar la librería creada y usar los tipos que provee como interfaz.
La clase Aritmética proveerá los siguientes métodos:
- Adición
- Sustracción
- Producto
- Cociente
- Exponenciación
Éstos se usarán desde la aplicación cliente.
4. Práctica: Código C#
Compilamos la clase usando la opción: /target:library:
El comando anterior nos generará un archivo de librería con nombre Utilidades.dll:
El comando anterior nos generará un archivo de librería con nombre Utilidades.dll:
Figura 1. Generación de la librería Utilidades.dll. |
Ahora creamos una clase cliente sencilla para usar las funcionalidades de la librería creada:
La clase AppCliente se compila de la siguiente manera desde la línea de comandos usando el compilador de C#:
Se generará la aplicación AppCliente.exe.
5. Uso
La aplicación AppCliente.exe la ejecutamos desde la línea de comandos, y tenemos:
Figura 2. Ejecución de la aplicación cliente: AppCliente.exe. |
Algunos puntos a tener en cuenta respecto al proceso realizado:
- En los casos que requiramos utilizar más de una librería, podemos separar el conjunto de librerías a usar por medio de comas (,) o puntos y coma (;). Ejemplo:
csc /reference:Libreria1.dll,Libreria2.dll,LibreriaN.dll - En el ejemplo anterior todos los archivos de código fuente y las librerías generadas se hallaban en el mismo directorio. La opción /lib nos permite apuntar a directorios externos. Así:
/lib:x:\dev\LibreriasComunes
o
/lib:C:\Dev\LibreriasTerceros - También es posible usar directorios relativos.
- Si la librería consiste de un assembly compuesto por varios archivos, se debe referenciar el archivo de manifiesto.
6. Conclusiones
Hemos aprendido a utilizar el compilador de C# desde la línea de comandos para crear una librería sencilla y utilizarla en una aplicación cliente. Este es un conocimiento práctico útil cuando queramos crear aplicaciones que utilicen funcionalidad de tercero.
7. Glosario
- Librería
- Referencia
8. Referencias
[1]: Visual C# 2010 Recibes by Allen Jones and Adam Freeman. Copyright 2010 Allen Jones and Adam Freeman, 978-1-4302-2525-6.
O
No hay comentarios:
Publicar un comentario
Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.