.NET Standard yra oficialus rinkinys.NET API specifikacija, tikimasi, kad ji bus prieinama visuose .NET diegimuose. .NET standarto įvedimo motyvacija buvo pagerinti .NET ekosistemos nuoseklumą. ECMA 335 ir toliau nustato .NET diegimo veikimo vienodumą, tačiau nėra panašios .NET bazinių klasių bibliotekų (BCL) specifikacijos, skirtos .NET bibliotekų diegimui.
.NET Standard įgalina šiuos pagrindinius scenarijus:
- Apibrėžkite vieningą, nuo darbo krūvio nepriklausomą BCL API rinkinį visiems .NET diegimams, kuriuos norite įdiegti.
- Leidžia kūrėjams kurti nešiojamąsias bibliotekas, kurias galima naudoti įvairiuose .NET diegimuose naudojant tą patį API rinkinį.
- Sumažina arba net pašalina sąlyginį bendro šaltinio kodo kompiliavimą .NET API aspektams (tik OS API).
Įvairūs .NET diegimai skirti konkrečiai .NET standarto versijai. Kiekvienas .NET diegimas skelbia aukščiausią palaikomą .NET Standard versiją, o tai reiškia, kad jis taip pat palaiko ankstesnes versijas. Pavyzdžiui, .NET Framework 4.6 įgyvendina .NET standartą 1.3. Tai yra, jis atskleidžia visas API, apibrėžtas .NET Standard 1.0–1.3 versijose. Panašiai ".NET Framework 4.6.1" įdiegia ".NET Standard 1.4", o ".NET Core 1.0" įdiegia ".NET Standard 1.6".
Ryšys tarp .NET Standard ir .NET diegimų yra toks pat kaip ryšys tarp HTML specifikacijų ir naršyklių. Pastarasis yra pirmojo realizavimas.
Todėl .NET Framework, Xamarin ir .NET Core, kiekviena valdoma sistema įgyvendina . NET standartas. Kompiuterių pramonei ir toliau diegiant naują aparatinę įrangą ir operacines sistemas, ateityje atsiras naujų. .NET prieglobos sistema. Standartas leidžia programų kūrėjams žinoti, kad jie gali pasikliauti nuosekliu API rinkiniu.
Kiekvienas. .NET versijos atitinka .NET standartinę versiją.
API yra nuosekli, o programų perkėlimas į skirtingus valdomus diegimus ir įrankių pateikimas bus paprastesnis.
.NET Standard apibrėžiamas kaip atskiras NuGet paketas, nes visi . Turi būti palaikomi .NET diegimai
.NET standartinės ir nešiojamosios bibliotekos
Ar nešiojamoji biblioteka nedaro to paties?
Nešiojamose klasėse naudojamos įprastos API, kurias palaiko kelios platformos. Todėl kuo daugiau platformų palaikoma, tuo mažiau API ir tam tikram platformų deriniui gali būti sunku tiksliai žinoti, kurios API palaikomos. Naujai platformai reikia iš naujo kompiliuoti esamą PCL. PCL taip pat reikalauja, kad "Microsoft" kiekvienai platformai sukurtų naują sistemos diegimo šakutę. Dėl. NET standartas identifikuoja API, o ne įgyvendinimą, todėl nereikia iš naujo kompiliuoti programos. Bet kuris naujai išleistas . .NET diegimas įgyvendina reikiamas bibliotekas. Programų nereikia iš naujo kompiliuoti, kad jos veiktų naujose aparatūros platformose ar operacinėse sistemose. Teoriškai NotSupportedException išimtis gali būti užfiksuota skambinant API, tačiau tai turėtų būti reta.
.NET diegimo palaikymas
Šioje lentelėje pateikiamos minimalios platformos versijos, palaikančios kiekvieną .NET Standard leidimą. Tai reiškia, kad vėlesnės išvardytų platformų versijos taip pat palaiko atitinkamas .NET Standard versijas. Pavyzdžiui, ".NET Core 2.2" palaiko ".NET Standard 2.0" ir ankstesnes versijas.
|