.NET Compiler Platform , también conocida por su apodo Roslyn , [1] es un conjunto de compiladores de código abierto y API de análisis de código para lenguajes C # y Visual Basic (VB.NET) de Microsoft . [2]
Autor (es) original (es) | Microsoft |
---|---|
Desarrollador (es) | Fundación .NET |
Lanzamiento estable | Visual-Studio-2019-Version-16.7.3 / 4 de septiembre de 2020 |
Repositorio | github |
Escrito en | C # , Visual Basic |
Sistema operativo | Microsoft Windows , Linux |
Plataforma | IA-32 , x86-64 |
Tipo | Compilador |
Licencia | Licencia MIT |
Sitio web | docs |
El proyecto incluye, en particular autoalojamiento versiones de los C # y VB.NET compiladores - compiladores escritos en los mismos idiomas. Los compiladores están disponibles a través de los programas tradicionales de línea de comandos, pero también como API disponibles de forma nativa desde el código .NET. Roslyn expone módulos para análisis sintáctico ( léxico ) de código, análisis semántico, compilación dinámica a CIL y emisión de código. [3]
Características
Las características principales más notables de Roslyn incluyen: [ cita requerida ]
- Compiladores para los lenguajes C # y Visual Basic expuestos como servicios a través de API.
- API para análisis de código y refactorización .
Historia
El nombre en clave "Roslyn" fue escrito por primera vez por Eric Lippert (un ex ingeniero de Microsoft [4] ) en una publicación [5] que publicó para contratar desarrolladores para un nuevo proyecto. Primero dijo que el origen del nombre se debía a Roslyn, Washington , pero luego en el post habla irónicamente sobre la "exposición norteña" de su oficina. La ciudad de Roslyn fue uno de los lugares donde se filmó la serie de televisión Northern Exposure . [6]
Microsoft puso una versión preliminar de tecnología comunitaria (CTP) disponible para descarga pública en octubre de 2011. Se instaló como una extensión de Visual Studio 2010 SP1. [7]
El CTP se actualizó en septiembre de 2012 [8] para incluir muchas actualizaciones de las API de Roslyn introducidas en los CTP de junio de 2012 y octubre de 2011, incluidos cambios importantes . [9] Si bien la API CTP de junio de 2012 está completa para los compiladores, no todas las funciones se implementaron para los lenguajes C # y VB.NET. [10]
En la conferencia Build 2014 en San Francisco en abril de 2014, Microsoft hizo el proyecto "Roslyn" de código abierto y lanzó una vista previa de la integración del lenguaje para Visual Studio 2013 . Desde el 3 de abril de 2014, Roslyn está bajo la licencia Apache 2.0. [2] El proyecto se transfirió efectivamente bajo la dirección de la recién fundada .NET Foundation. [11] En la misma conferencia, Xamarin anunció que están trabajando en la integración de los nuevos compiladores y herramientas en Xamarin Studio . [ cita requerida ]
Los compiladores no estaban completos en esta versión. Cada uno de los compiladores contiene características que están previstas para las próximas versiones de lenguaje (C # 6 y Visual Basic.NET 14). Las API también están disponibles a través del administrador de paquetes NuGet . [ cita requerida ]
El primer lanzamiento de RTM de Roslyn fue con Visual Studio 2015 . [12] Roslyn actualmente solo admite VB y C #, y los compiladores se escribieron en sus respectivos lenguajes. [13]
En enero de 2015, Microsoft movió el código fuente de Roslyn de CodePlex a GitHub . [14]
Arquitectura
Tradicionalmente, los compiladores han sido una caja negra para los desarrolladores de aplicaciones [ dudoso ] . Sin embargo, con el aumento de la complejidad y la demanda de análisis de código fuente en entornos de desarrollo integrados modernos, los compiladores necesitan exponer interfaces de programación de aplicaciones (API) que ayudarán a los desarrolladores a realizar directamente las fases de compilación, como el análisis de la estructura léxica y sintáctica del código fuente. Roslyn fue diseñada con esa intención desde el principio. Esto reduce la barrera en el desarrollo de herramientas diseñadas específicamente para el análisis de código fuente. Las API de Roslyn son de tres tipos: API de funciones, API de espacio de trabajo y API de compilador. Las API de funciones permiten a los desarrolladores de herramientas de código fuente realizar refactorizaciones y correcciones de código. Las API de espacio de trabajo permiten a los desarrolladores de complementos realizar acciones específicamente requeridas en entornos de desarrollo integrados (IDE) como Visual Studio , como encontrar referencias de una variable o formato de código. Las API del compilador permiten un análisis aún más sofisticado del código fuente, al exponer llamadas directas para realizar un árbol de sintaxis y un análisis de flujo de enlaces. [15] Usando una implementación de código abierto de Common Language Infrastructure (CLI) como .NET Core , Roslyn podrá compilar de una manera independiente de la plataforma capaz de ejecutar código CLI en Linux , OS X y Windows . [ cita requerida ] /
Ver también
- Lista de compiladores
- Phoenix (marco del compilador)
Referencias
- ^ "C # y Visual Basic: use Roslyn para escribir un analizador de código en vivo para su API" . msdn.microsoft.com . Consultado el 7 de enero de 2019 .
- ^ a b Plataforma del compilador .NET ("Roslyn") en GitHub
- ^ Neil McAllister, Roslyn de Microsoft: reinventar el compilador tal como lo conocemos , DEVELOPER_WORLD , 2011-10-20
- ^ "Fabulosas aventuras en la codificación" . Acerca de Eric Lippert . Eric Lippert.
- ^ "Contratación de Roslyn" . Blog de MSDN de Eric Lippert . Eric Lippert. 16 de diciembre de 2010.
- ^ Muir, Pat (5 de octubre de 2014). "Roslyn espera que el nuevo programa de televisión traiga 15 minutos más de fama" . Yakima Herald . Archivado desde el original el 2 de noviembre de 2014 . Consultado el 1 de noviembre de 2014 .
- ^ Microsoft "Roslyn" CTP Archivado el 18 de abril de 2012 en Wayback Machine , Centro de descarga de Microsoft
- ^ Microsoft "Roslyn" CTP , Centro de descarga de Microsoft
- ^ Novedades de los foros de Microsoft "Roslyn" de septiembre de 2012 CTP , Visual Studio vNext
- ^ Limitaciones conocidas y funciones de lenguaje no implementadas , foros de Visual Studio vNext
- ^ .NET Foundation - Fundación de código abierto para la comunidad .NET
- ↑ Visual Studio 2015 RTM , 20 de julio de 2015
- ^ Microsoft Roslyn contra CodeDom
- ^ ¡ Nos estamos mudando a GitHub! , Blog de VBTeam de MSDN, 2015-01-10
- ^ Descripción general de Roslyn de la documentación de GitHub
enlaces externos
- Página web oficial
- Presentamos el CTP de Microsoft "Roslyn" en el blog de preguntas frecuentes de C # MSDN
- Lanzar el gran cambio a Roslyn en las preguntas frecuentes de C # blog de MSDN