Det gjør det også enkelt for utviklere å migrere .NET-applikasjoner opprettet med Visual Studio til Linux og macOS, og gir en enkelt kodebase for alle plattformer.
Multi plattform
Den støtter Linux, Windows og macOS.
Avansert tekstredigering
Støtte for kodefullføring for C #, kodemaler, kodefelling.
Konfigurerbar arbeidsbenk
Fullt tilpassbare vindusoppsett, brukerdefinerte knappebindinger, eksterne verktøy
Støtte for flere språk
C #, F #, Visual Basic .NET, Vala
Integrert feilsøkingsprogram
For feilsøking av mono- og native applikasjoner
GTK # Visual Designer
Det er enkelt å lage GTK # -apper
ASP.NET
Bygg webprosjekter med full kodestøtte og test på Mono webserver XSP.
Andre verktøy
Kildekontroll, integrering av makefiler, enhetstesting, pakking og distribusjon, lokalisering
Hva skjer:
Driftstid
Hardened Runtime and Notarization support på macOS
Monobinær installert av .pkg for macOS bruker nå Hardened Runtime-funksjonene, og pakken er autorisert for å overholde Apples nye begrensninger: https://developer.apple.com/documentation/security/notarizing_your_app_before_distribution.
Dette gjør at pakken kan kjøres på den kommende macOS 10.15 Catalina uten å vise advarselsdialoger.
Oversetterforbedringer
Mono tolk er oppdatert for å støtte Windows-operativsystemet.
Vi har også utarbeidet en rekke grunner for fremtidige optimaliseringer i tolken, for eksempel kontinuerlig folding.
Bitnessuavhengig AOT cross compiler
Ahead-cross-kompilatoren (Ahead-Of-Time) er oppdatert for ikke lenger å kreve at kode skal kjøres med bitene den skal generere. Dette betyr at 64-bit Mono kan sende AOT-kode for 32-bit destinasjoner.
Dette arbeidet ble hovedsakelig gjort for å støtte utførelsen av AOS cross compiler på macOS 10.15 Catalina (bare 64bit) ettersom vi trengte å generere kode for 32bit-mål som eldre iPhone- og Apple Watch-enheter.
Webmontering
Vi fortsetter å jobbe for å forbedre vår støtte for WebAssembly. Ulike problemer med feilsøkingsprogrammet er løst i denne versjonen, og generell ytelse og funksjonsarbeid utføres også.
LLVM-forbedringer
Vi slipper det nå på LLVM-rammeverket for å legge til sikkerhetspoeng. Senere optimaliseringer kan forstå sikkerhetspoeng som fører til bedre generert kode. Se, Https://github.com/mono/mono/pull/11789
LLVM-backend støttes nå i Windows-operativsystemet.
PPC JIT-optimaliseringer
PowerPC JIT mottok en haug med optimaliseringer fra samfunnsdeltakeren Calvin Buckley (@NattyNarwhal).
Eksperimentell byggestøtte for Fuchsia
Med sikte på Fuchsia-operativsystemet, landet Mono på et veldig lite eksperimentelt supportbyggingssystem å bygge.
Klassebiblioteker
NET Standard 2.1-støtte
Vi har oppdatert klassebibliotekene våre for å støtte de siste tilskuddene til .NET Standard. Du kan nå kjøre et bibliotek på Mono kompilert i henhold til .NET Standard 2.1 spesifikasjonen.
CoreFX integrasjon
Vi fortsatte å erstatte noen av klassene våre med CoreFX-implementeringen for å forbedre ytelsen og kompatibiliteten med .NET.
Oppdaterer til libgdiplus 6.0.2
Libgdiplus native bibliotek brukes til å implementere System.Drawing implementering på Unix plattformer. Denne versjonen inneholder mange viktige forbedringer fra medlemmene i samfunnet.
Takk til Hugh Bellamy (@hughbe), Frederik Carlier (@qmfrederik) og Filip Navara (@filipnavara) for deres fantastiske bidrag!
System.Windows.Forms
Flere rettelser og forbedringer av layout for forskjellige sjekker gjort av eksterne bidragsytere kom ned til dette innlegget.
Kjøretøy
C # 8 språkversjon støtte i csc og msbuild
C # -kompilatoren og msbuild-verktøyet er oppdatert til versjoner som støtter den nyeste C # 8 språkspesifikasjonen.
Standard Interface Methods (DIM) -funksjonen har også fått flere kjøretidsforbedringer.
Nuget
Den medfølgende NuGet-versjonen er oppgradert til 5.2 RTM.
Problemer løst
- # 7377 - [Mono.Debugger.Soft] Tilkoblinger er ikke lukket ordentlig
- # 7452 - Last ned lenke for macOS osbsolete (5.8 vs. 5.10)
- Kapittel 7845 - Ikke installer en monografi
- # 8360 - Intermitterende funksjonsfeil i [System.Net.Sockets] SocketTest.TestSelect1-applikasjon i Darwin-systemer
- # 8486 - 3 byte struktur ikke riktig sortert med LLVM i WatchOS
- # 8747 - FileSystemWatcher kaller hendelse etter å ha blitt sparket
- # 9267 - Slipp tarballer må komprimeres med xz
- # 9621-64 bit kryss kompilatorer målrettet mot 32 bit plattformer
- # 9664 - DateTime.Now eller tidssoneinformasjon bytter ikke fra sommertid for alle tidssoner
- # 10101 - Reflektert array-ref forårsaker lokal InvalidProgramException
- # 10277 - [Refleksjon] Hendelsestilgangere arver ikke ReflectedType
- # 10645 - WebException kastet mens du leser fra WebException.Response.GetResponse () stream
- # 11431 - Legg til Brotli-komprimering i eksisterende System.IO.Compression-enhet
- # 11489 - IronPython 2.7.9 merkelig utgave i Mono 5.16
- # 11643 - mkbudle-problemet - Ulovlig bytesekvens
- # 12157 - Ny DriveInfo (Path.GetTempPath ()) krasjer på macOS
- # 12182 - LLVM AOT-cacher krever SSE4.1-kompatibel CPU
- # 12747 - System.Reflection.Emit.ParameterBuilder.SetCustomAttribute () kaster udokumentert ArgumentOutOfRangeException
- # 12831 - [iOS] Offentlig deling med lange flytende argumenter
- # 12839 - [Windows] block_guard_restore_aligment_on_exit.exe ble tidsavbrutt ofte i CI
- # 12843 - Mono Android debugger krasjer ved hjelp av HttpClient pakket med Async Method
- # 12871 - wasm var co = ny System.Net.CookieContainer (); feil System.DllNotFoundException: libc
- Kapittel 12881 - MonoDevelop SDB-regresjoner
- Illustrasjon # 12945 - Corlib-xunit-tester som kjører 10 ganger lenger i huskonfigurasjon
- # 12964 - [debugger] [wasm] validering i mono / metadata / loader.c: 2500, tilstand '' ikke oppfylt
- # 12981 - [WASM] Conversion.c: 2856, betingelse `` ikke oppfylt
- # 12988 - [WASM] LLVM mislyktes for 'ObservableCollectionExtensions.InternalUpdate': innkommende phi sreg1
- # 12998 - [WASM] llvmonly-runtime.c: 804, tilstand `` ikke oppfylt
- # 13028 - Brutt FSharpType.IsUnion inne i F # Interaktiv på grunn av manglende System.Reflection.Emit.AssemblyBuilder.ReflectionBare implementering
- # 13030 - Mangler SystemNative_GetAllMountPoints pal-funksjon Directory.GetLogicalDrives ()
- Del 13056 - AV i mono_local_cprop + 0x23f
- # 13150 - [WinForms] relaterte skjemaer lukkes
- # 13163 - Oppgave: Bruk asynkron DNS-oppløsning på socket og web stack-kode.
- # 13195 - [wasm] [ci] Intermitterende feil med ChakraCore-tester
- # 13224 - iOS SDKs test app build fungerer ikke når den ikke er i sdks / ios-katalogen
- # 13231 - Gjør unntaket "Trying JIT compilation method" siden CGPattern VS 7.5
- # 13250 - Angi CustomErrorsMode for RemotingConfiguration kaster NotImplementedException
- # 13261 - [sdb] StackOverflow når du ringer til mange metoder fra feilsøkingsprogram
- # 13282 - [SWF] OnClosed Method må passere typen FormClosedEventArgs i stedet for EventArgs
- # 13284 - Kontroller ulong relasjonsoperasjon armeabi-v7a kaster feil OverflowException
- # 13297 - Parse [WASM] .c: 1471, betingelsen "cfg-> cbb == first_bb" ikke oppfylt
- # 13311 - [sdb] Suspender feil
- # 13319 - Utførelse av statiske metoder Kollisjon på grensesnitt
- # 13350 - MemberInfo.ReflectedType returnerer feil reflektert type for en hendelsesmetode
- # 13374 - Standard implementert eiendomskjøring på grensesnitt
- # 13412 - Bump Netstandard.dll build versjon 2.1
- # 13445 - Gaffelregresjon i Mojave på grunn av MAP_JIT
- # 13452 - [Linux] Mono (5.18.0.268) Krasjer ved streng: IndexOf (tegnverdi, int startIndex)
- # 13454 - watchOS-apper krasjer ved lansering hvis de er bygget med LLVM
- # 13455 - "Kan ikke utvide MVAR med 0 (Ts) 0x1e" når du kompilerer monotouch_System.Core_xunit-test.dll
- # 13460 - AOT krasjer med "Instruksjon styrer ikke all bruk" mens du kompilerer monotouch_System.Core_xunit-test.dll
- # 13463 - [WASM] Mixed Mode: mismatch for funksjonssignatur
- # 13466 - Krasj ved kjøretid angående den beskyttede tilgjengeligheten til en metode som er erklært i et grensesnitt.
- # 13467 - Uventet System.MethodAccessException kastes for en beskyttet metode erklært i et grensesnitt
- # 13478 - Symbol ikke definert i armv7 i xamarin-macios ___sync_lock_test_and_set_4 2019-02
- Seksjon 13479 - System.Runtime.CompilerServices.UnsafeTests som prøver å kompilere JIT på iOS-enheter
- # 13508 - ILAsm: legger til "virtuell" eiendom til forseglede standardgrensesnittmetoder
- # 13522 - AOT-problem i WatchOS: "* mini-llvm.c: krav, betingelse [2 + i] 'tilstand ikke oppfylt i 9381"
- # 13526 - Repl (monotouch_tv_runtime) forsamlinger fungerer ikke for tvOS
- # 13597 - Runtime Error når du bruker spenn på LeetCode
- # 13607 - påstand i xamarin-macios link sdk test: "mini-generic-sharing.c: 568, condition` is_ok (error) 'ikke oppfylt, funksjon: inflate_info kunne ikke blåse opp generisk type på grunn av MVAR 0 (T_ULONG) kan ikke utvides med type 0x1e"
- Del nr. 13610 - Sprettebjelken er ødelagt når du aktiverer FullAOT + LLVM
- # 13639 - mono-cil-strip krasjer når det kalles mot monotouch_Microsoft.CSharp_xunit-test.dll
- Kapittel 13654 - Tolk kollapser mens fantasirefleksjon
- # 13672 - [2019-02] Xamarin.Android kjøretid krasjer gratis
- # 13714 - Unntak ikke ryddet under statisk konstruktørinstallasjon
- # 13775 - Nytt mono-fall som krasjer i C # -symboltester
- # 13787 - [wasm] Uint8ClampedArray.From (byte []) ugyldig dump
- # 13804 - [MacSDK] pkg-config yalnızca 32 bit
- # 13834 - Mac-krasjrapporter gir ikke riktig SizeOfImage
- # 13878 - System.Reflection.Emit.DynamicMethod: CreateDelegate (?) Krasjer XM-applikasjoner ved hardhet herdet
- # 13888 - (FullAOT) Type 3 trampoline ferdig
- # 13889 - [llvm] Grensekontroll ikke eliminert
- # 13923 - [DIM] [CoreCLR Test] fungerer ikke kjedelig
- # 13925 - [DIM] [CoreCLR Test] fordøyelsessøk fungerer ikke
- # 13941 - ASP.NET Core Assemblies Crash During AOT
- # 13974 - mono: symbolsøkfeil: /usr/lib/libmono-llvm.so: udefinert symbol: mono_class_get_generic_class
- # 14005 - Metode mono_type_is_generic_parameter vises ikke i delte biblioteker
- # 14079 - Oversetterkollaps i referansekildesystemet.Web.Extensions
- # 14143 - Techempower plattform vanlig tekst, LLVM suspendert på hver forespørsel ved hjelp av JIT
- Feil
- # 14181 - Pango modules.cache inneholder jenkins-generatorbane
- # 14195 - 5.20.1.19 aktivere-cxx, men konfigurasjonen mislykkes hvis C ++ kompilator ikke ble funnet
- # 14214 -> HttpClient.SendAsync () med 2 GB responstekst.
- # 14215 - Forslag: Bytt til opprinnelig 7z-format i stedet for ZIP for monoarkiver
- # 14234 - SqliteMembershipProvider initialiseringsfeil (kan ikke kartlegge banen '/').
- # 14243 - [Wasm] mini-llvm.c: krav i 2106, betingelse 'klausul >> flagg == MONO_EXCEPTION_CLAUSE_NONE || klausul-> flagg == MONO_EXCEPTION_CLAUSE_FINALT || klausul-> flagg == MONO_EXCEPTION_CLAUSE_FAULT 'ikke oppfylt
- # 14246 - Tolk krasjer når du møter interne typer
- # 14247 - Krav på 32-biters iOS-enhet med tommelfingerkode
- # 14255 - Kopiering fra Windows Forms 'Mono-port fungerer ikke i noen programmer på Linux
- # 14261 - LLVM indekserer feil span-kode feil
- # 14290 - [ios] Ikke-offentlig API-bruk når du sender inn applikasjon
- # 14543 - Dekodede egendefinerte verdier som lekker mottaker for kodet verdi
- # 14551 - EnumCompareTo-resultatet skiller seg fra grunnleggende implementering
- # 14585 - [tester] Send HTTP-forespørsler til Google
- # 14669 - Mempool tildelt feil?
- # 14729 - Oversettertester mislykkes på iOS og TVOS for MScorlib-tester
- # 14792 - Utfør [sdks] [ios] objc_msgSend og venners skikkelige tropp
- # 14793 - Mono-Native fungerer ikke på MacOS Catalina
- # 14809 - I formdesigntester med 6.0, kan IsByRefLike-typen 'System.ReadOnlySpan'1' ikke være boksen
- # 14839 - [xamarin] TimeZoneInfo.Local returnerer alltid "Lokalt" navn
- # 14841 - opt: Ukjent kommandolinjeargument "-place-safepoints" i XI 2019-06 integrasjon
- # 14871 - [wasm] System.Text.Json build-serialisering mislyktes (men fungerer på CoreCLR)
- # 14872 - Xamarin.iOS'taki cihazlarda System.Runtime.CompilerServices.UnsafeTests.ReadWriteDoublePointer test hatası
- # 14972 - Xamarin.iOS: System.ExecutionEngineException: Introduksjon til JIT-kompileringsmetode ‘(wrapper delegate-begin-invoke) System.IAsyncResult System.Func`2
: begin_invoke_IAsyncResult__ dette ___ T_AsyncCallback_object (ExecutionEngineExceptionTest.AppDelegate, System.AsyncCallback, nesne) ’ > - # 14975 - Monoprofiler krasjer mens du kjører IDE lekkasjetester for VSMac
- # 15048 - [aot] Duplicate .fnstart Directive Compiler Error
- # 15058 - [2019-06] Få tester mislykkes på iOS på 32b-enhet [iOS]
- # 15261 - [iOS] [Tester] Det er en rekke System.Numeriske tester som mislykkes på iOS 32b-enheter
- # 15262 - [iOS] [Tester] En rekke linq-tester mislykkes på iOS 32b-enheter
- # 15263 - [iOS] [Tester] En rekke tester av Microsoft.CSharp på iOS 32b-enheter mislyktes.
- # 15265 - [watchOS] [Tester] System_xunit-test.dll for watchOS inneholder tester som bør ignoreres
- # 15307 - [iOS] [Tester] Flere corelib-tester krasjer på iOS32b-enheter.
- # 15328 - [MacOS] [Tester] Flere tester mislyktes på grunn av System.IO-unntak
- # 15329 - [MacOS Modern] [Tester] System.IO.AnonymousPipe-tester er inkludert når de ikke støttes.
- Seksjon 15330 - Runtime Lockout
- Bölüm 15366 - StringBuilder marshalling bug
- # 15441 - kompileringsfeil "pos ikke erklært"
- # 15692 - Capturing IndexOutOfRange mislykkes i å melde
- # 15751 - Minnelekkasje i mono 6.0.0.313 for delegater med mål migrert til lokal kode
- # 15825 - DeflateStream lekker lokalt minne hvis det ikke eksplisitt kastes
- # 15878 - Krasjer mono_coop_mutex_lock når du kjører VS for Mac
- # 15887 - [Regresjon] File.GetLastWriteTime mislykkes i spesifikk (GMT + 8) tidssone
- # 15999 - Utfør regresjonstester med [mini] fullaot + llvm
- # 16010 - typeof (object) .GetMember (“”) returnerer ikke en tom matrise
- Seksjon 16024 - Lokalt krasj i Ves_icall_System_Net_Sockets_Socket_Connect_internal
- # 16032 - IOException: Brudd på stien deles ...
- # 16122 - VS 16.2.0 regresjon: DeflateStream til GzipStream kaster CopyToAsync NotImplementedException
- # 16486 - FileSystemEventArgs.FullPath kaster ArgumentNullException
- Del 16712 - SIGSEGV i mono_class_setup_vtable_general