— Сделали поддержку C# 6 по-умолчанию
— Потюнили в плане улучшения производительности GC и рантайм
— Ускорили операции с float на 30-40%
— Добавили поддержку PowerPC64 LE
— И, самое главное импортировали очень большой кусок BCL из .NET Framework.
Список импортированного кода
Полностью импортированы:
— System.Decimal
— System.Collections
— System.Collections.Concurrent
— System.Collections.Generic
— System.Collections.Specialized
— System.ComponentModel
— System.ComponentModel.Design
— System.Diagnostic.Contracts
— System.Linq
— System.Linq.Parallel
— System.Text.RegularExpressions
— System.Runtime.CompilerServices
— System.Threading.Tasks

Частичный импорт/замена

System:
— ArraySegment
— BitConverter
— Boolean, Byte, Char, Decimal, Int16, Int32, Int64, SByte, UInt16, UInt32, UInt64,
— Convert
— DateTime, Decimal
— Guid
— Lazy
— Random
— TimeSpan
— Version
System.Collections.Generic
— HashSet
— И вообще по большей части код заменён
System.Diagnostics.Contracts
System.Globalization
— Entire calendar stack
— DaylightTime
— TextInfo
System.IO
— BufferedStream
— Stream
— MemoryStream
— StreamReader, StreamWriter, StringReader, StringWriter, TextReader, TextWriter
System.Linq.Expressions
— DynamicExpression, ExpressionVisitor
System.Net
— Cookie, CookieCollection, CookieContainer,
— FtpWebRequest
— WebClient
System.Text
— Обработка кодировок юникода и ANSI, остальные пока старым методом, так как реализация от MS использует WinAPI
System.Threading (примерно на 60%)
По импорту прогресс всё ещё можно смотреть тут.

Ещё убрали профили 2.0 и 4.0, то есть, запустить скомпилированный под них код можно, а вот собирать теперь получится только под 4.5.

Относительно вопроса «Зачем, Microsoft же портирует .NET самостоятельно?». Идея в том, что MS сейчас портирует (и неизвестно когда допортирует) достаточно небольшое подмножество дотнета. Mono же предоставляет desktop/server профиль и продолжит его предоставлять, интегрируя код от Microsoft. В дальнейшем также планируется выпускать такое же подмножество под названием Mono Core, которое можно будет использовать средствами DNX.
Сейчас взяли те куски, которые в Mono местами криво работали или представляли из себя портянку из throw new NotImplementedException().

Так что если у вас проект на Mono не запускался в связи с косяками из чего-то вышеперечисленного, то самое время попробовать снова.

Комментарии (7)


  1. VISTALL
    03.05.2015 10:23
    +3

    Спасибо. Пропустил я их реализ.

    Сделали поддержку C# 6 по-умолчанию


    Я так понимаю они используют Roslyn в качестве компилятора?


    1. kekekeks Автор
      03.05.2015 14:42
      +3

      Пока свой допилили до кондиции. Но Roslyn вроде как давно уже на Mono запускается.


  1. szKarlen
    03.05.2015 11:32
    +4

    Просто отлично!


  1. boblenin
    04.05.2015 03:57
    +3

    Т.е. для того чтобы пощупать C# 6 на микрософтовском .NET мне надо ставить VS CTP, а для того чтобы на mono — можно вполне себе релиз?


    1. kekekeks Автор
      04.05.2015 13:52

      Ну у них свой компилятор со своим циклом релизов.


  1. xeon
    04.05.2015 13:21

    Были большие надежды, на этот релиз, но пока что всё еще проблемы с SSL. Просто физически невозможно подключиться к SQL Azure, т.к. там ssl обязателен.


    1. kekekeks Автор
      04.05.2015 13:53
      +1