El-as-a-Service Compilador característica ha sido available in Mono desde hace bastante tiempo y hay indicios de que podría aparecer en .NET 5 o 6, pero no es disponible en .NET 4.
Si absolutamente, positivamente, necesita ejecutarse en .NET (tenga en cuenta que Mono se ejecuta en Windows muy bien, por lo que en realidad no pierde nada ejecutando Mono), una opción interesante podría ser investigar qué tan difícil sería para el puerto Mono.CSharp
. RED. Quiero decir, en última instancia, en algún momento, genera bytecode CIL que funciona exactamente igual en todas las implementaciones de CLI ya sea Mono, .NET, DotGNU, Rotor, Bartok o lo que sea.
De lo contrario, sus opciones son más o menos la misma que siempre han sido: generar archivos y llamar a la Compier de comandos, utilice árboles DLR, utilice la generación de código ligero, usar Reflection.Emit
, utilice CodeDOM, utilice CSharpCodeProvider
, crear su propio lenguaje de scripts, hospedar otro lenguaje de scripting u hospedar el DLR.
Probablemente vaya por lo último: el alojamiento del DLR es absolutamente fácil y le da acceso no solo a uno sino a varios lenguajes de scripting buenos (actualmente Ruby, Python, ECMAScript y Scheme) y de hecho el usuario puede usar cualquier lenguaje DLR que tengan instalado en su máquina.
Esta es la única respuesta disponible ahora. El video al que se refiere es una demostración del "compilador como un servicio", que está planificado tentativamente para C# 5. –
Vea también: http://stackoverflow.com/questions/2210734/what-is-the-state-of -the-c-compiler-as-a-service –
¡Agradable, gracias por ayudar a todos! – Kelly