Выпущен Microsoft "Roslyn" September 2012 CTP

Как и было обещано, стал доступен для загрузки 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 (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.