Как и было обещано, стал доступен для загрузки Microsoft "Roslyn" September 2012 CTP. Из ключевых моментов этого выпуска можно отметить обеспечение работы в Microsoft Visual Studio 2012 RTM и отказ от поддержки Visual Studio 2010. Кроме того, была улучшена поддержка возможностей C# и VB.
Новые поддерживаемые возможности C#
- Инициализаторы коллекций (collection initializers);
- Инициализаторы объектов (object initializers);
- Внешние псевдонимы (extern aliases);
- Деревья выражений (expression trees);
- Многомерные массивы (multi-dimensional arrays);
- Типы Nullable<T> (nullable types);
- Переадресация типов(type forwarders);
- Небезопасный код, кроме буферов фиксированного размера (Unsafe code, except fixed-size buffers).
Изменения, по сравнению с June 2012 CTP
Ниже приведен список наиболее значимых изменений API, сделанных с времени выхода June 2012 CTP:
Compiler API
- Удален SyntaxTree.ParseCompilationUnit. Вместо него используйте ParseText или ParseFile.
- SyntaxNode.GetText() и SyntaxNode.GetFullText() заменены методами ToString() и ToFullString().
- AssemblyNameReference, AssemblyFileReference и AssemblyObjectReference замещены семейством классов, унаследованных от абстрактного типа MetadataReference. Для создания его экземпляров вызовите фабричный метод MetadataReference.CreateAssemblyReference() или воспользуйтесь конструкторами наследников.
- Убрано свойство CompilationOptions.Default. Для замены используйте конструкторы CompilationOptions.
- Control Flow Analysis API изменен для отображения начала и конца регионов вместо начальной и конечной точек TextSpan. Коллекции JumpsIntoRegion и JumpsOutOfRegion заменены, соответственно, на EntryPoints и ExitPoints.
Services API
Для того, чтобы убрать зависимости от редактора Visual Studio, некоторые API были перенесены из слоя Editor Services в слой Services:
- Classification;
- Code Actions;
- Completion;
- Rename.
Editor Services API
- Убраны API, которые были приведены выше и перенесены в слой Services.
Известные проблемы
- Нет Interactive в Visual Basic
Окно Interactive доступно только в C#. Поддержка Visual Basic появится в следующих версиях.
- Не поддерживаемые возможности языков
Анализатор Roslyn полностью поддерживает C# 4 и Visual Basic 10. Однако, на данный момент, не все возможности реализованы в текущей версии компилятора Roslyn. С списком ограничений можно ознакомиться в сообщении на форуме MSDN.
Загрузка Microsoft "Roslyn" September 2012 CTP
Скачать Microsoft "Roslyn" September 2012 CTP можно со страницы на сайте Microsoft. Кроме того, для Nuget доступен установочный пакет Roslyn.