¿Es posible crear librerías en tiempo de ejecución?

19/11/2005 - 00:35 por Hugo Nugra | Informe spam
Hola amigos del Foro.

Quisiera saber si existe la posibilidad compilar código C# que se puede
generar en forma dinámica (en tiempo de ejecución), y crear un archivo .Dll.
Luego utilizando reflexión se podrían instanciar las clases creadas y de
este modo obtener aplicaciones mucho más versátiles y con mejor rendimiento.

Si alguien pe puede ayudar, le agradecería mucho.
 

Leer las respuestas

#1 A.Poblacion
19/11/2005 - 10:29 | Informe spam
"Hugo Nugra" wrote in message
news:
Quisiera saber si existe la posibilidad compilar código C# que se puede
generar en forma dinámica (en tiempo de ejecución), y crear un archivo


.Dll.
Luego utilizando reflexión se podrían instanciar las clases creadas y de
este modo obtener aplicaciones mucho más versátiles y con mejor


rendimiento.

Si alguien pe puede ayudar, le agradecería mucho.



Busca en el manual:

System.CodeDom.Compiler.ICodeCompiler
y Microsoft.CSharp.CSharpCodeProvider

Con estas dos clases puedes compilar código sobre la marcha. Ni siquiera
hace falta que crees una dll, le puedes poner el parámetro
CompileInMemory=true, y acceder por reflexión sin necesidad de grabar la
dll.

Otra posibilidad es que el programa vuelque el código fuente generado sobre
un archivo temporal, y que invoques con Process.Start al CSC.EXE con los
parámetros adecuados para que lo compile en una DLL. Después borras el
archivo temporal.

Preguntas similares