.NET Standard ir formāls komplekts.NET API specifikācija, kas būs pieejama visās .NET implementācijās. .NET standarta ieviešanas motivācija bija uzlabot konsekvenci .NET ekosistēmā. ECMA 335 turpina noteikt vienotību .NET ieviešanas uzvedībai, bet .NET bāzes klases bibliotēkām (BCL) nav līdzīgas specifikācijas .NET bibliotēku ieviešanai.
.NET Standard iespējo šādus galvenos scenārijus:
- Definējiet vienotu, no darba slodzes neatkarīgu BCL API kopu visām .NET implementācijām, kuras vēlaties ieviest.
- Ļauj izstrādātājiem veidot pārnēsājamas bibliotēkas, kuras var izmantot dažādās .NET implementācijās, izmantojot vienu un to pašu API kopu.
- Samazina vai pat novērš koplietojamā avota koda nosacītu kompilēšanu .NET API aspektiem (tikai OS API).
Dažādas .NET ieviešanas ir paredzētas konkrētai .NET Standard versijai. Katra .NET ieviešana paziņo par augstāko .NET Standard versiju, ko tā atbalsta, un tas nozīmē, ka tā atbalsta arī iepriekšējās versijas. Piemēram, .NET Framework 4.6 ievieš .NET Standard 1.3. Tas nozīmē, ka tas atklāj visas API, kas definētas .NET Standard versijās no 1.0 līdz 1.3. Līdzīgi .NET Framework 4.6.1 ievieš .NET Standard 1.4, bet .NET Core 1.0 ievieš .NET Standard 1.6.
Attiecības starp .NET Standard un .NET ieviešanu ir tādas pašas kā attiecības starp HTML specifikācijām un pārlūkprogrammām. Pēdējais ir pirmā realizācija.
Tāpēc .NET Framework, Xamarin un .NET Core, katrs no pārvaldītajiem ietvariem ievieš . NET standarts. Tā kā datoru nozare turpina ieviest jaunu aparatūru un operētājsistēmas, nākotnē parādīsies jaunas. .NET hostinga sistēma. Standarts ļauj lietojumprogrammu izstrādātājiem zināt, ka viņi var paļauties uz konsekventu API kopumu.
Katrs. .NET versijas atbilst .NET standarta versijai.
API ir konsekventa, un lietojumprogrammu pārnešana uz dažādām pārvaldītām implementācijām un rīku nodrošināšana būs vienkāršāka.
.NET Standard ir definēts kā atsevišķa NuGet pakotne, jo visi . Jāatbalsta .NET ieviešana
.NET Standard salīdzinājumā ar portatīvajām bibliotēkām
Vai portatīvā bibliotēka nedara to pašu?
Pārnēsājamās klases izmanto kopīgus API, kurus atbalsta vairākas platformas. Rezultātā, jo vairāk platformu tiek atbalstītas, jo mazāk API ir pieejamas un konkrētai platformu kombinācijai var būt grūti precīzi zināt, kuras API tiek atbalstītas. Jaunai platformai esošais PCL ir jāpārkompilē. PCL arī pieprasa, lai Microsoft katrai platformai izveidotu jaunu ietvara ieviešanas dakšu. Sakarā ar. NET standarts identificē API, nevis ieviešanu, tāpēc nav nepieciešams atkārtoti kompilēt lietojumprogrammu. Jebkurš nesen izlaists . .NET ieviešana ievieš nepieciešamās bibliotēkas. Lietojumprogrammas nav jāpārkompilē, lai tās darbotos jaunās aparatūras platformās vai operētājsistēmās. Teorētiski, izsaucot API, var tikt noķerts NotSupportedException izņēmums, taču tam vajadzētu būt reti.
.NET ieviešanas atbalsts
Tālāk esošajā tabulā ir norādītas minimālās platformas versijas, kas atbalsta katru .NET Standard laidienu. Tas nozīmē, ka uzskaitīto platformu jaunākās versijas atbalsta arī atbilstošās .NET Standard versijas. Piemēram, .NET Core 2.2 atbalsta .NET Standard 2.0 un vecākas versijas.
|