Эта статья требует дополнительных ссылок для проверки . ( июнь 2016 г. ) ( Узнайте, как и когда удалить это сообщение-шаблон ) |
Автор (ы) оригинала | Microsoft |
---|---|
Разработчики) | .NET Foundation |
Стабильный выпуск | Visual-Studio-2019-Version-16.7.3 / 4 сентября 2020 г . |
Репозиторий | github |
Написано в | C # , Visual Basic .NET |
Операционная система | Microsoft Windows , Linux |
Платформа | IA-32 , x86-64 |
Тип | Компилятор |
Лицензия | Лицензия MIT |
Интернет сайт | документы |
.NET Compiler Platform , также известный под своим ником Рослин , [1] представляет собой набор с открытым исходным кодом компиляторов и анализа кода API - интерфейсов для C # и Visual Basic .NET языков от Microsoft . [2]
В частности, в проект включены автономные версии компиляторов C # и VB.NET - компиляторы, написанные на самих языках. Компиляторы доступны через традиционные программы командной строки, а также в виде API-интерфейсов, изначально доступных из кода .NET. Roslyn предоставляет модули для синтаксического ( лексического ) анализа кода, семантического анализа, динамической компиляции в CIL и выдачи кода. [3]
Особенности [ править ]
Наиболее заметные основные особенности Roslyn включают в себя: [ необходима ссылка ]
- Компиляторы для языков C # и Visual Basic .NET, предоставляемые как службы через API.
- API для анализа кода и рефакторинга .
История [ править ]
Кодовое имя «Roslyn» было впервые написано Эриком Липпертом (бывший инженер Microsoft [4] ) в сообщении [5], которое он опубликовал для найма разработчиков для нового проекта. Сначала он сказал, что это название произошло из-за Рослин, Вашингтон , но позже в своем посте он иронично говорит о «северной экспозиции» своего офиса. Город Рослин был одним из мест, где снимали телесериал « Северная экспозиция» . [6]
Microsoft сделала предварительную версию технологии сообщества (CTP) доступной для публичной загрузки в октябре 2011 года. Она была установлена как расширение Visual Studio 2010 SP1. [7]
CTP был обновлен в сентябре 2012 года [8], чтобы включить множество обновлений API Roslyn, представленных в CTP за июнь 2012 и октябрь 2011 года, включая критические изменения . [9] Хотя API CTP за июнь 2012 г. завершен для компиляторов, не все функции были реализованы для языков C # и VB.NET. [10]
На конференции Build 2014 в Сан-Франциско в апреле 2014 года Microsoft сделала проект Roslyn открытым и выпустила предварительную версию языковой интеграции для Visual Studio 2013 . По состоянию на 3 апреля 2014 г. Roslyn находится под лицензией Apache License 2.0. [2] Проект был фактически передан под управление недавно основанного .NET Foundation. [11] На той же конференции Xamarin объявила, что они работают над интеграцией новых компиляторов и инструментов в Xamarin Studio. [ необходима цитата ]
В этом выпуске компиляторы не были полнофункциональными. Каждый из компиляторов содержит функции, запланированные для следующих языковых версий (C # 6 и Visual Basic.NET 14). API-интерфейсы также доступны через диспетчер пакетов NuGet . [ необходима цитата ]
Первый выпуск RTM Roslyn был выпущен в Visual Studio 2015 . [12] Roslyn в настоящее время поддерживает только VB и C #, а компиляторы написаны на соответствующих языках. [13]
В январе 2015 года Microsoft переместила исходный код Roslyn с CodePlex на GitHub . [14]
Архитектура [ править ]
Традиционно компиляторы были черным ящиком для разработчиков приложений [ сомнительно
] . Однако с увеличением сложности и требований к анализу исходного кода в современных интегрированных средах разработки компиляторы должны предоставлять интерфейсы прикладного программирования.(API), которые помогут разработчикам напрямую выполнять этапы компиляции, такие как анализ лексической и синтаксической структуры исходного кода. Roslyn с самого начала разрабатывался с этой целью. Это снижает барьер при разработке инструментов, специально предназначенных для анализа исходного кода. API-интерфейсы Roslyn бывают трех типов: API-интерфейсы функций, API-интерфейсы рабочей области и API-интерфейсы компилятора. API функций позволяют разработчикам инструментов исходного кода выполнять рефакторинг и исправления кода. API рабочей области позволяют разработчикам подключаемых модулей выполнять действия, специально необходимые в интегрированных средах разработки (IDE), таких как Visual Studio.например, поиск ссылок на переменную или форматирование кода. API-интерфейсы компилятора позволяют выполнять еще более сложный анализ исходного кода, открывая прямые вызовы для выполнения синтаксического дерева и анализа потока привязки. [15] Используя реализацию Common Language Infrastructure (CLI) с открытым исходным кодом, такую как .NET Core , Roslyn сможет компилировать платформенно-независимым способом, способным запускать код CLI в Linux , OS X и Windows . [ необходима цитата ] /См. Также [ править ]
- Список компиляторов
- Phoenix (каркас компилятора)
Ссылки [ править ]
- ^ «C # и Visual Basic - используйте Roslyn для написания анализатора живого кода для вашего API» . msdn.microsoft.com . Проверено 7 января 2019 года .
- ^ a b Платформа компилятора .NET ("Roslyn") на GitHub
- ^ Нил Макаллистер, Microsoft Roslyn: переосмысление компилятора, каким мы его знаем , DEVELOPER_WORLD , 2011-10-20
- ^ «Сказочные приключения в кодировании» . Об Эрике Липперте . Эрик Липперт.
- ^ "Наем для Рослин" . Блог Эрика Липперта MSDN . Эрик Липперт. 16 декабря 2010 г.
- Перейти ↑ Muir, Pat (5 октября 2014 г.). «Рослин надеется, что новое телешоу принесет еще 15 минут славы» . Якима Геральд . Архивировано из оригинала на 2 ноября 2014 года . Проверено 1 ноября 2014 года .
- ^ Microsoft "Roslyn" CTP. Архивировано 18 апреля 2012 г. на Wayback Machine в Центре загрузки Microsoft.
- ^ Microsoft "Roslyn" CTP , Центр загрузки Microsoft
- ^ Что нового в Microsoft "Roslyn" CTP за сентябрь 2012 г. , форумы Visual Studio vNext
- ^ Известные ограничения и нереализованные языковые функции , форумы Visual Studio vNext
- ^ .NET Foundation - Фонд с открытым исходным кодом для сообщества .NET
- ^ Visual Studio 2015 RTM , 2015-07-20
- ^ Microsoft Roslyn против CodeDom
- ^ Мы переезжаем на GitHub! , Блог MSDN VBTeam, 10 января 2015 г.
- ^ Обзор Roslyn из документации GitHub
Внешние ссылки [ править ]
В Викиучебнике есть книга на тему: .NET Development Foundation. |
- Официальный веб-сайт
- Представляем Microsoft «Roslyn» CTP в разделе часто задаваемых вопросов по C # Блог MSDN
- Большой выбор Roslyn в разделе часто задаваемых вопросов о C # Блог MSDN