Le compilateur-as-a-service Cette fonction a été available in Mono depuis un certain temps et il y a des signes qu'il pourrait apparaître dans .NET 5 ou 6, mais ce n'est pas disponible dans .NET 4.
Si vous absolument, positivement, besoin de fonctionner. NET (notez que Mono fonctionne très bien sur Windows, donc vous ne perdez rien en exécutant Mono), une option intéressante pourrait être d'enquêter sur comment il serait difficile de porter Mono.CSharp
à. NET. Je veux dire, finalement, à un moment donné, il génère un bytecode CIL qui fonctionne exactement de la même manière pour toutes les implémentations CLI que ce soit Mono, .NET, DotGNU, Rotor, Bartok ou autre.
Sinon, vos options sont à peu près les mêmes qu'ils ont toujours été: générer des fichiers et appeler le Compier de ligne de commande, utilisez les arbres DLR, utilisez la génération de code léger, utilisez Reflection.Emit
, utilisez CodeDOM, utilisez CSharpCodeProvider
, créez votre propre langage de script, héberger un autre langage de script ou héberger le DLR.
J'irais probablement pour le dernier: héberger le DLR est absolument facile et il vous donne accès à non seulement un mais plusieurs bons langages de script (actuellement Ruby, Python, ECMAScript et Scheme) et en fait l'utilisateur peut utiliser n'importe quel langage DLR qu'ils ont installé sur leur machine.
C'est la seule réponse disponible maintenant. La vidéo dont vous parlez montre le "compilateur en tant que service", qui est provisoirement prévu pour C# 5. –
Voir aussi: http://stackoverflow.com/questions/2210734/what-is-the-state-of -le-c-compilateur-comme-un-service –
Nice, merci pour l'aide tout le monde! – Kelly