¿Cómo usar el compilador c# de roslyn con visual studio 2015?


Tengo un poco de confusión sobre Roslyn.

Lo que he hecho: He instalado vs 2015 community edition y descargar en extensibilty > descargar compiler platform sdk.

Así que creé una aplicación de consola simple: hello world example.

Bueno, ahora espero elegir el compilador de c# entre el predeterminado de vs2015 y roslyn..., pero no he encontrado esa opción. Así que mi primera pregunta es: ¿cómo seleccionar la versión del compilador de c#?

Segundo que he descargado el maestro Roslyn y yo construimos, luego encontré csc.exe, bueno, lo extraño es que si yo lanzo el exe Obtengo la versión 42.42.42.42 del compilador de c#. ???? ¿Verdad?

Entonces he seguido algunos tutoriales, pero todo propósito me: para cargar una fuente desde un archivo de texto o cadena vars y analizar o cambiar el árbol de sintaxis, compile a var.

Bueno, en este punto estoy confundido... Entonces:

¿Qué es Roslyn exactamente? Un meta compilador? Esto significa que puedo cambiar mi código en tiempo de ejecución al igual que Reflection? Segundo: cómo puede compilar con vs2015 con csc predeterminado o elegir roslyn? tercero: Si compilo una versión personalizada de Roslyn, ¿Cómo puedo compilar mi fuente usando Vs2015 ? Que saben si csc.exe es roslyn? Ninguna ayuda o línea de comandos imprime el nombre en clave.

Gracias

Author: Alex Nolasco, 2015-12-07

3 answers

Así que parece que tienes algunas preguntas:

¿Qué es Roslyn?

Roslyn es el nuevo compilador predeterminado dentro de Visual Studio 2015. Si está creando y ejecutando aplicaciones dentro de Visual Studio 2015, se están compilando con el compilador Roslyn. Podrá aprovechar todas las nuevas características de C # 6 que solo están disponibles dentro del nuevo compilador.

Si está utilizando VS2015, Roslyn ha reemplazado el compilador antiguo por completo y, por lo que sé, no puede usar el compilador antiguo dentro de VS 2015.

Roslyn también es una plataforma que permite construir programas que pueden modificar, interpretar y entender otros programas. No está realmente destinado a permitirte escribir código que se modifique a sí mismo (aunque eso probablemente sea posible hasta cierto punto).

Los casos de uso comunes para Roslyn son:

  1. Construyendo Analizadores de código que proporcionan errores y advertencias dentro de Visual Studio.
  2. Construyendo extensiones para Visual Studio que comprender el código fuente.
  3. Construir otras herramientas que entiendan o ejecuten código fuente. Ejemplo: ScriptCS - Scripting con código C#.

Para usar Roslyn para estos propósitos, usted extrae los paquetes Microsoft.CodeAnalysis de NuGet. Puede usar estos paquetes para analizar código, analizar árboles de sintaxis, analizar símbolos o compilar código y emitir IL.

Si está interesado en aprender más sobre Roslyn, he comenzado una serie llamada Aprenda Roslyn ahora que usted podría interesarle.

¿puedo reemplazar el compilador?

Sí puedes, pero no estoy convencido de que esta sea una gran idea fuera de probar los cambios que quieres contribuir a Roslyn. Puedes bajar Roslyn desde GitHub y seguir estas instrucciones para compilar y ejecutar Roslyn desde Visual Studio.

Si sigue estas instrucciones, podrá ejecutar el proyecto Roslyn con F5. Se iniciará una nueva instancia de Visual Studio que está utilizando su personalizado compilación. Así es como personas fuera de Microsoft contribuirán características al compilador a partir de ahora. (Anteriormente no se podía implementar el compilador personalizado en Visual Studio, pero se solucionó en Visual Studio Update 1).

 36
Author: JoshVarty,
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
2015-12-07 19:42:28

Roslyn es dos cosas:

  1. Una API que le permite ver "cosas del compilador" como árboles de sintaxis y símbolos.
  2. Un nuevo csc.exe que se implementa en la parte superior #1.

Si quieres hacer cambios en el compilador y usarlo para compilar, echa un vistazo a estas instrucciones si aún no lo has hecho. Hay algunas maneras diferentes de hacer su propia versión de csc.exe y luego usar eso para construir algo. Pero no hay un diálogo de "elección" como el que estás buscando para.

 9
Author: Jason Malinowski,
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
2015-12-07 19:30:54

Roslyn es el compilador predeterminado de Visual Studio 2015. Por lo tanto, si instala VS2015 ya está usando Roslyn.

Roslyn es un nombre en clave para . NET Compiler Platform, y proporciona compiladores de código abierto C# y Visual Basic. El proyecto está disponible en[5]} github .

 1
Author: Marcello,
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
2016-09-01 20:19:21