jueves, 3 de octubre de 2013

Receta C# No. 1-4: Creación y Uso de una Librería desde la Línea de Comandos en C#

Tabla de Contenido

0. Introducción
1. 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:
  1. Crear una librería que pueda ser reutilizada en múltiples aplicaciones.
  2. 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:
Librería 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:
Ejecución de la aplicación cliente.
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.