Interested Article - Roslyn
- 2020-07-10
- 1
.NET Compiler Platform (кодовое название Roslyn ) — платформа с открытым исходным кодом , содержащая компиляторы и средства для статического анализа кода, написанного на языках C# и Visual Basic ( VB.NET ) от Microsoft .
Платформа включает в себя самодостаточные версии компиляторов C# и VB.NET — компиляторов, написанных на этих же языках. Взаимодействие с компиляторами может осуществляться через традиционные инструменты командной строки , а также через API из кода .NET . Roslyn предоставляет модули для синтаксического и лексического анализа кода, семантического анализа и динамической компиляции в CIL .
История
В 2010 году инженер Microsoft Эрик Липперт опубликовал объявление о наборе разработчиков для участия в новом проекте под кодовым названием Roslyn . В октябре 2011 года Microsoft выпустила предварительный выпуск Roslyn, поставляемый в виде расширения для IDE Visual Studio 2010 .
В апреле 2014 года в Сан-Франциско состоялась конференция Build , на которой Microsoft объявила о переводе проекта Roslyn на open source и выпустила версию для Visual Studio 2013. Тогда же компания Xamarin заявила об интеграции инструментов платформы в свою IDE .
В 2015 году исходный код проекта был перемещён на GitHub .
Архитектура
Roslyn предоставляет разработчикам API нескольких слоёв :
- API компилятора — содержит объектные модели, соответствующие синтаксическим и семантическим сведениям на каждом этапе компиляции.
- API диагностики — предоставляет возможности для выполнения набора различных диагностик, позволяя задействовать пользовательские анализаторы в процессе компиляции.
- API скриптов — используется для выполнения скриптов, а также для работы с контекстом выполнения.
- API рабочих областей — предоставляет доступ к объектным моделям слоя компилятора.
Инструменты исходного кода, созданные на основе Roslyn, могут поставляться как в виде расширения Visual Studio, так и в виде самостоятельного приложения .
Примечания
- — 2020.
- (англ.) . MSDN (24 июля 2015). Дата обращения: 12 мая 2023. 8 декабря 2022 года.
- Neil McAllister. (англ.) . InfoWorld (20 октября 2011). Дата обращения: 12 мая 2023. 24 апреля 2023 года.
- Eric Lippert. (англ.) . Eric Lippert's Erstwhile Blog (16 декабря 2010). Дата обращения: 13 мая 2023. 13 мая 2023 года.
- (англ.) . Microsoft Download Center . Дата обращения: 13 мая 2023. Архивировано из 18 апреля 2012 года.
- Jonathan Allen. (англ.) . InfoQ (3 апреля 2014). Дата обращения: 13 мая 2023. 25 сентября 2022 года.
- . MSDN (10 января 2015). Дата обращения: 13 мая 2023. Архивировано из 1 декабря 2015 года.
- (англ.) . MSDN (15 сентября 2021). Дата обращения: 13 мая 2023. 22 января 2023 года.
- . Хабр . Блог компании PVS-Studio (19 мая 2016). Дата обращения: 13 мая 2023. 13 мая 2023 года.
- 2020-07-10
- 1