En la labor de crear un migrador de Oracle Forms a .NET me encontré con una tarea muy interesante: crear un proyecto en C# de forma dinámica, y compilarlo. En este post voy a compartir de forma simple como crear una pequeña aplicación de consola con un editor de texto, como crear un archivo de proyecto y como compilarlo.
La clase Hola en C#
La primera tarea que haremos es crear una clase que despliega un mensaje en la consola. Esta clase esta escrita usando Notepad2 y se presenta a continuación:
por supuesto que si quisiéramos podríamos compilar esta clase utilizando el compilador de C# – csc.exe – pero queremos crear dinámicamente el proyecto para agregar todas las clases y archivos necesarios al mismo y poder utilizarlo en Visual Studio.
El MSBuild
Aquí es donde entra el MSBuild. El MSBuild es una plataforma para construir – compilar – aplicaciones. Este contiene un esquema XML para el archivo de proyecto que controla como la plataforma de construcción procesa y construye el software.
Para nuestro proyecto vamos a utilizar el siguiente archivo de proyecto, el cual vamos a llamar proyecto.csproj:
Ítems
Los ítems son las entradas para el sistema de construicción, y normalmente se representan a través de archivos. Estos ítems se agrupan en grupos del mismo tipo. En el archivo de proyecto anterior creamos un ItemGroup con archivos de tipo Compile – hola.cs – dentro del mismo.
Targets
Agrupan tareas en un orden particular para que sean ejecutadas por el motor del MSBuild; en nuestro caso, creamos un Target que invoca el compilador de C# – csc.exe – para compilar cada uno de los archivos cs en el item group.
Compilación del Proyecto
Para compilar nuestro proyecto solamente tenemos que ir al command prompt de Visual Studio y digitar el siguiente comando:
Si el comando se ejecuta de manera exitosa entonces podremos ver el resultado en nuestro command prompt.
si vemos el contenido del directorio nos daremos cuenta que se ha creado un archivo con extensión exe. Si ejecutamos “hola” en el prompt veremos que nuestra aplicación se ejecuta de la forma correcta.
No hay comentarios:
Publicar un comentario