¿Es Roslyn Cross Platform?


He estado mirando Roslyn desde hace bastante tiempo, y tengo curiosidad y entusiasmo por ello. Una cosa que noté es que mencionaron que el compilador está reescrito en código administrado. Esto plantea la cuestión de si Roslyn es capaz de ejecutar en non-.NET máquinas virtuales, como Mono .

Me encantaría realmente incrustar secuencias de comandos de C# usando Roslyn en mis videojuegos, y usar muchas de sus otras características en mis aplicaciones, pero me pregunto si usar Roslyn romperá la capacidad para que se ejecute en Mono.

¿Alguien ha intentado ejecutar Roslyn en Mono? Es posible? Por qué o por qué no?

Para aclarar, me interesa tanto si el ensamblado administrado puede ejecutarse en Mono, como si puede generar ensamblados que mono puede ejecutar.

Author: Peter Mortensen, 2013-02-02

2 answers

A pesar de ser lo más alejado de la mente de Eric, Roslyn ha sido lanzado como verdadero Código Abierto (Apache 2.0) y es de hecho ahora multiplataforma.

Miguel de Icaza de Xamarin lo mostró corriendo en Mono en BUILD.

Cuando Roslyn se lance, se convertirá en parte de Mono. Ya están manteniendo una rama en el repositorio Mono Git.

 30
Author: Justin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-18 15:41:21

Como @Govert ya ha mencionado en un comentario, si desea incrustar capacidades de scripting en C#, simplemente debe usar la biblioteca/herramienta equivalente a Mono: Mono-Csharp. (Especialmente porque, incluso si Roslyn podría funcionar en Mono, su licencia puede dictar que no se le permite.)

Esta herramienta en el mundo Mono ha existido mucho antes que Roslyn por cierto, y es de código abierto. Aquí tienes incluso un empleado de Microsoft blogueando sobre él y subiéndolo a Nuget:

Http://blog.davidebbo.com/2012/02/quick-fun-with-monos-csharp-compiler-as.html

Espero que su juego va a patear el culo!

 17
Author: knocte,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-03 12:07:03