Mono 4.0 release with code import from referencesource.microsoft.com and corefx


    - Made support for C # 6 by default
    - Grew up in terms of improving GC and runtime
    performance - Accelerated operations with float by 30-40%
    - Added support for PowerPC64 LE
    - And, most importantly, imported a very large piece of BCL from the .NET Framework.
    Import Code List
    Fully imported:
    - 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

    Partial import / replacement

    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
    - And generally for the most part the code has been replaced by
    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
    - Processing of Unicode and ANSI encodings, the rest are still the old method, since the implementation from MS uses WinAPI
    System.Threading (about 60%)
    On import, progress can still be seen here.

    They also removed profiles 2.0 and 4.0, that is, you can run the code compiled for them, but now you can collect only under 4.5.

    Regarding the question "Why, Microsoft is porting .NET on its own?" The idea is that MS is now porting (and it is not known when it is dorting) a fairly small subset of the subnet. Mono provides a desktop / server profile and will continue to provide it by integrating code from Microsoft. In the future, it is also planned to release the same subset called Mono Core, which can be used by means of DNX.
    Now they have taken those pieces that in Mono sometimes worked crookedly or represented a footcloth from throw new NotImplementedException ().

    So if your project on Mono did not start in connection with the jambs of something of the above, then it's time to try again.

    Also popular now: