Vrste aplikacij .NET. Razumevanje osnovnih konceptov ogrodja .NET Framework Kaj je namen specifikacije skupnega jezika (CLS)

14.09.2022

.NET Framework je integrirana komponenta sistema Windows, ki podpira ustvarjanje in izvajanje nove generacije aplikacij in spletnih storitev XML. Ogrodje .NET Framework je bilo zasnovano z naslednjimi cilji:

· Zagotovite dosledno objektno usmerjeno programsko okolje za lokalno shranjevanje in izvajanje objektne kode, za lokalno izvajanje kode, distribuirane na internetu, ali za oddaljeno izvajanje.

· Zagotovite okolje za izvajanje kode, ki zmanjša konflikte pri uvajanju programske opreme in nadzoru različic.

· Zagotavljanje okolja za izvajanje kode, ki zagotavlja varno izvajanje kode, vključno s kodo, ki so jo ustvarile neznane ali manj zaupanja vredne tretje osebe.

· Zagotovite okolje za izvajanje kode, ki se izogne ​​težavam z zmogljivostjo s skriptnimi okolji ali okolji izvajanja interpretirane kode.

· Zagotovite dosledno izkušnjo razvijalca v različnih vrstah aplikacij, kot so aplikacije Windows in spletne aplikacije.

· Razvijte interoperabilnost na podlagi industrijskih standardov, ki bo zagotovila integracijo kode .NET Framework s katero koli drugo kodo.

Dve glavni komponenti ogrodja .NET Framework sta izvajalno okolje skupnega jezika (CLR) in knjižnica razredov ogrodja .NET Framework. Jedro ogrodja .NET Framework je CLR. Izvajalno okolje si lahko predstavljamo kot agenta, ki upravlja kodo med izvajanjem in zagotavlja osnovne storitve, kot so upravljanje pomnilnika, upravljanje niti in oddaljena povezava. Hkrati so za zagotovitev varnosti in zanesljivosti uvedeni strogi pogoji tipkanja in druge vrste preverjanja točnosti kode. Pravzaprav je glavna naloga izvajalnega okolja upravljanje kode. Koda, ki dostopa do izvajalnega okolja, se imenuje upravljana koda, koda, ki ne dostopa do izvajalnega okolja, pa neupravljana koda. Druga ključna komponenta ogrodja .NET Framework, knjižnica razredov, ponuja popolno objektno usmerjeno zbirko vrst, ki se uporabljajo za razvoj aplikacij, od običajnih, ki se izvajajo iz ukazne vrstice ali z grafičnim uporabniškim vmesnikom, do aplikacij, ki izkoriščajo najnovejše zmogljivosti tehnologije ASP.NET, kot so spletne storitve XML.

.NET Framework lahko gosti neupravljane komponente, ki nalagajo skupno jezikovno izvajalno okolje (CLR) v lastne procese in izvajajo upravljano kodo ter ustvarjajo programsko okolje, ki omogoča tako upravljano kot neupravljano izvajanje. .NET Framework ne zagotavlja samo več jedrnih izvajalnih območij, ampak podpira tudi razvoj jedrnih izvajalnih območij tretjih oseb.


Na primer, ASP.NET gosti izvajalno okolje, da zagotovi razširljivo okolje na strani strežnika za upravljano kodo. ASP.NET deluje neposredno z izvajalnim okoljem, da omogoči aplikacije ASP.NET in spletne storitve XML, ki so o obeh obravnavane kasneje v tej temi.

Internet Explorer je primer neupravljane aplikacije, ki gosti izvajalno okolje (v obliki razširitve vrste MIME). Uporaba Internet Explorerja za gostovanje izvajalnega okolja vam omogoča vdelavo upravljanih komponent ali kontrolnikov Windows Forms v dokumente HTML. Gostovanje izvajalnega okolja na ta način omogoča upravljano mobilno kodo (podobno kontrolnikom Microsoft® ActiveX®), vendar s pomembnimi izboljšavami, ki jih lahko ponudi samo upravljana koda, kot sta delno zaupanja vredno izvajanje in izolirano shranjevanje datotek.

Naslednja slika prikazuje razmerje izvajalnega okolja skupnega jezika in knjižnice razredov do vaših aplikacij in celotnega sistema. Ilustracija prikazuje tudi, kako upravljana koda deluje v večji arhitekturi.

NET Framework v kontekstu

Naslednji razdelki podrobneje opisujejo glavne komponente in funkcije ogrodja .NET Framework.


ASP.NET na primer gosti izvajalno okolje in zagotavlja razširljivo okolje za kodo, ki jo upravlja strežnik. ASP.NET deluje neposredno z izvajalnim okoljem, da omogoči izvajanje aplikacij ASP.NET in spletnih storitev XML, ki so obravnavane kasneje v tej temi.

Internet Explorer je primer neupravljane aplikacije, ki gosti izvajalno okolje (v obliki razširitev tipa MIME). Gostovanje izvajalnega okolja v Internet Explorerju vam omogoča vdelavo upravljanih komponent ali kontrolnikov Windows Forms v dokumente HTML. Ta postavitev okolja omogoča zagon upravljane mobilne kode (podobno kontrolnikom Microsoft® ActiveX®), vendar s pomembnimi prednostmi upravljane kode, kot sta izvajanje z delnim zaupanjem in izolirano shranjevanje datotek.

Naslednja slika prikazuje, kako skupno jezikovno izvajalno okolje in knjižnica razredov sodelujeta z uporabniškimi aplikacijami in celotnim sistemom. Slika prikazuje tudi, kako upravljana koda deluje znotraj širše arhitekture.

NET Framework v kontekstu

Naslednji razdelki nudijo podrobnejši opis osnovnih komponent in funkcij .NET Framework.

Je eden najbolj priljubljenih, večnamenskih in aktivno razvijajočih se programskih jezikov v tem trenutku. Z njegovo pomočjo lahko razvijete skoraj vsako programsko opremo, začenši s preprostimi obrazci win aplikacij, do velikih spletnih aplikacij odjemalec-strežnik ali celo mobilnih aplikacij in računalniških iger. In deluje na podlagi platforme .NET Framework. Ugotovimo, kaj je to.

Oglejte si moj video o ogrodju .NET Framework in izvajalnem okolju CLR za C#

Programski jezik C# je relativno nov, vendar si je že pridobil zaupanje. Prva različica je bila izdana februarja 2002. Najnovejša različica jezika v času pisanja je C# 7.2, ki je bila izdana 16. avgusta 2017.

Sintaksa jezika C#, kot že ime pove, je del družine C-podobnih jezikov in je podobna drugim priljubljenim jezikom iz te skupine (C++, Java). Če torej katerega od teh jezikov že poznate, boste veliko lažje obvladali programski jezik C#.

Ker je C# objektno usmerjen jezik, podpira dedovanje, polimorfizem, enkapsulacijo, tipkanje močnih spremenljivk, preobremenitev operaterjev in drugo. Vsi ti koncepti bodo podrobno obravnavani v naslednjih člankih. Zahvaljujoč uporabi paradigme objektno usmerjenega načrtovanja z uporabo programskega jezika je zelo enostavno razvijati obsežne in prilagodljive projekte. Hkrati se redno objavljajo nove različice jezika C#, ki dodajajo nove funkcije za poenostavitev življenja razvijalca, povečanje hitrosti razvoja ter izboljšanje zmogljivosti in zanesljivosti aplikacij.

Platforma .NET

.NET Framework je programska platforma podjetja Microsoft omogoča razvoj v različnih programskih jezikih, saj vsi jeziki uporabljajo eno samo skupno jezikovno izvajalno okolje Common Language Runtime (CLR). Tako so glavne zmogljivosti platforme .NET:

  • Več platform– .NET Framework podpira večina sodobnih operacijskih sistemov Windows, možno pa je ustvarjati tudi aplikacije, ki jih podpirajo sistemi Linux, in celo mobilne aplikacije.
  • Večjezični– ker je izvorna koda, napisana v uporabljenem programskem jeziku, prevedena v kodo Common Intermediate Language (CIL), postane možen razvoj v katerem koli podprtem programskem jeziku in celo uporaba različnih programskih jezikov v eni rešitvi. Najbolj priljubljeni podprti jeziki so C#, VB.NET, C++, F#.
  • Obsežna knjižnica razredov in tehnologij– obstaja ogromno število pripravljenih knjižnic za reševanje potrebnih težav. Pogosto sploh ni treba implementirati nizkonivojske logike aplikacije; dovolj je, da uporabite že pripravljeno rešitev, ki je priročno dobavljena prek upravitelja paketov nuget. Poleg tega platforma .NET omogoča enostaven razvoj skoraj vseh vrst potrebne programske opreme.

Upravljana in neupravljana koda. JIT kompilacija

Upravljana koda je koda, ki jo upravlja izvajalno okolje skupnega jezika (CLR). To pomeni, da ima nadzorno okolje možnost začasno ustaviti izvajanje aplikacije in pridobiti specifične informacije o stanju aplikacije kadarkoli med njenim izvajanjem. Izvorna koda uporabljenega programskega jezika se prevede v nadzorovano kodo CIL (imenovano tudi asembler visoke ravni).

Po izdelavi knjižnice razredov ali aplikacije je izvorna koda še naprej shranjena v CIL. In ko zaženete aplikacijo ali dostopate do knjižnice, se izvede Just-In-Time ( JIT) prevajanje aplikacije v strojno kodo, specifično za okolje, v katerem se aplikacija izvaja. V tem primeru je pomembna značilnost, da se prevede samo tisti del aplikacije ali knjižnice, do katere se dostopa (in povezave, seveda). To vam omogoča, da povečate zmogljivost sistema in prihranite vire.

Neupravljana koda- To je koda, ki je prevedena neposredno v strojno izvedljivo kodo in jo neposredno izvede operacijski sistem.

Poleg tega priporočam branje članka. In tudi naročite se na skupino VKontakte, Telegram in YouTube kanal. Za programerje je še več uporabnih in zanimivih stvari.

NET Framework služi kot okolje za podporo, razvoj in izvajanje porazdeljenih aplikacij, ki temeljijo na komponentah (kontroli).

Aplikacije (programe) lahko razvijamo v različnih programskih jezikih, ki podpirajo to tehnologijo.

NET Framework zagotavlja:

  • skupna uporaba različnih programskih jezikov;
  • varnost in prenosljivost programov;
  • splošni programski model, ki temelji na platformi Windows.

2. Katere so glavne komponente .NET Framework?

S programskega vidika je .NET Framework sestavljen iz dveh glavnih komponent:

  • skupno jezikovno izvajalno okolje CLR (Common Language Runtime);
  • knjižnica osnovnega razreda.

Skupno jezikovno izvajalno okolje (CLR) rešuje težave pri samodejnem odkrivanju tipov .NET, nalaganju teh tipov in njihovem upravljanju. CLR skrbi za upravljanje pomnilnika, vzdrževanje aplikacij, obdelavo niti in izvaja številna preverjanja, povezana z varnostjo.

Knjižnica osnovnih razredov vključuje definicijo različnih primitivov, ki so lahko: tokovi, grafični API-ji, implementacije baze podatkov, datotečni I/O itd.

3. Kakšno je načelo delovanja Common Language Runtime (CLR)?

CLR (Common Language Runtime) upravlja izvajanje kode .NET.

Po prevajanju programa v C# (ali drugem jeziku) se ustvari datoteka, ki vsebuje posebno vrsto psevdokoda ali bajtkode (in ne izvršljiva datoteka, kot je bilo prej). Ta psevdokoda se imenuje (MSIL) ali Common Intermediate Language (CIL). Ta psevdokoda je Microsoftov vmesni jezik.

Glavni namen CLR je pretvoriti vmesno kodo MSIL v izvedljivo kodo med izvajanjem programa.

Vsak program, ki je preveden v psevdokodo MSIL, je mogoče izvesti v katerem koli okolju, ki vsebuje implementacijo CLR. To omogoča, da so programi prenosljivi znotraj .NET Framework.

riž. 1. Postopek pretvorbe izvorne kode v kodo MSIL (CIL ali IL) in ustvarjanje zbirne datoteke (*.dll ali *.exe)

Po tem se psevdokoda spremeni v izvedljivo kodo. To naredi prevajalnik JIT. JIT (just-in-time) kompilacija je kompilacija sproti.

CLR je odgovoren za določanje, kam postaviti sklop.

Zahtevani tip, ki se nahaja v sestavu (kot je razred ArrayList ali drug tip), se določi v binarni datoteki (*.dll ali *.exe) z branjem metapodatkov datoteke.

CLR nato tip, prebran iz sklopa, postavi v pomnilnik.

CLR nato spremeni kodo CIL v ustrezna navodila, ki so prilagojena določeni platformi (odvisno od osebnega računalnika, operacijskega sistema itd.). Poleg tega se na tej stopnji izvajajo potrebni varnostni pregledi.

Zadnja stvar, ki jo morate storiti, je, da izvedete zahtevano programsko kodo.

4. Kaj je vmesni jezik MSIL ( Microsoftov vmesni jezik) ali CIL (Common Intermediate Language)?

Sprva se je imenoval vmesni psevdokodni jezik Microsoftov vmesni jezik(MSIL). Kasneje (v zadnjih različicah .NET) je bilo to ime spremenjeno v skupni vmesni jezik (CIL - Common Intermediate Language). Okrajšave MSIL, CIL in IL (Intermediate Language) pomenijo isto.

Vmesni jezik CIL (ali MSIL) nastane po prevajanju programa v nekem programskem jeziku, ki podpira .NET Framework.

MSIL je psevdokoda. MSIL definira nabor navodil, ki:

  • možnost prenosa na različne platforme;
  • niso odvisni od določenega procesorja.

Pravzaprav je MSIL prenosni zbirni jezik

5. Kaj je sestav z vidika tehnologije .NET?

Sestavi so datoteke s pripono *.dll ali *.exe, ki vsebujejo navodila za vmesni jezik (IL), neodvisen od platforme .NET, ter metapodatke o vrsti.

Sestav je ustvarjen s prevajalnikom .NET. Sklop je velik binarni objekt.

Sklop je zasnovan tako, da ohranja imenske prostore. Imenski prostori vsebujejo vrste. Tipi so lahko razredi, delegati, vmesniki, enumeracije, strukture.

Sklop lahko vsebuje poljubno število imenskih prostorov. Vsak imenski prostor lahko vsebuje poljubno število tipov (razredi, vmesniki, strukture, oštevilčenja, delegati).

6. Kaj je vključeno v sklope?

Sestavi vsebujejo kodo CIL (koda MSIL ali koda IL) in metapodatke.

Koda CIL se prevede za določeno platformo le, če se do nje dostopa iz izvajalnega okolja .NET.

Metapodatki podrobno opisujejo značilnosti vsake vrste, ki obstaja znotraj dane binarne enote .NET.

Na primer Ko ustvarite aplikacijo Windows Forms v C#, se ustvari datoteka Assembly.info. Ta datoteka se nahaja v podmapi Lastnosti glede na glavno mapo programa. Ta datoteka vsebuje splošne informacije o sestavu.

7. Kaj je manifest?

Manifest je opis samega sklopa z uporabo metapodatkov.

Manifest vsebuje naslednje podatke:

  • o trenutni različici sklopa;
  • informacije o kulturi (lokalizacija črtnih in grafičnih virov);
  • seznam povezav do vseh zunanjih sklopov, ki so potrebni za pravilno delovanje.

8. Diagram interakcije med izvorno kodo, prevajalnikom .NET in izvajalnim mehanizmom .NET.

Programer izdela izvorno kodo aplikacije v jeziku, ki podpira tehnologijo .NET (C#, C++/CLI, Visual Basic .NET itd.). Aplikacija je ustvarjena v nekem programskem okolju, kot je Microsoft Visual Studio. Prevajalnik ustvari sestav - datoteko, ki vsebuje navodila CIL, metapodatke in manifest.

Po zagonu te aplikacije na določenem računalniku (določeni platformi) se zažene .NET runtime engine. Najprej mora biti v računalniku nameščena ena od različic (vsaj) .NET Framework.

Če izvorna koda uporablja knjižnice osnovnih razredov (na primer iz sklopa mscorlib.dll), se te naložijo z nalagalnikom razredov.

Prevajalnik JIT prevede sestav ob upoštevanju (povezovanju) lastnosti strojne in programske opreme računalnika, na katerem se izvaja aplikacija.

Po tem se aplikacija zažene.

Slika 2. Razmerje med izvorno kodo, prevajalnikom in izvajalnim motorjem .NET

9. Katere vrste sklopov obstajajo?

Obstajata dve vrsti sklopov:

  • sklopi z eno datoteko;
  • sklopi z več datotekami.

Sklop, ki je sestavljen iz enega samega modula (*.dll ali *.exe), se imenuje eno datoteka. Sestavi z eno datoteko postavijo vsa potrebna navodila CIL, metapodatke in manifeste v en, dobro definiran paket.

Sklop, ki je sestavljen iz številnih datotek binarne kode .NET, se imenuje sestav z več datotekami. Vsaka od teh datotek se imenuje modul.

V sestavu z več datotekami je eden od modulov glavni (primarni).

10. Katera datoteka vsebuje glavni sklop knjižnice MS Visual Studio?

Glavni sklop se nahaja v datoteki »mscorlib.dll«.

11. Kaj je splošni tip sistema CTS?

CTS (Common Type System) – tipski sistem, ki vsebuje popoln opis vseh možnih podatkovnih tipov in programskih konstrukcij, ki jih podpira skupno jezikovno izvajalno okolje CLR. Opisuje tudi, kako lahko te entitete medsebojno delujejo.

Tipi so lahko razredi, vmesniki, strukture, enumeracije, delegati.

12. Kaj je namen specifikacije skupnega jezika CLS?

Kot veste, vsi programski jeziki, ki so združljivi z .NET, ne morejo podpirati funkcionalnosti sistema tipa CTS. V ta namen se uporablja skupna jezikovna specifikacija CLS (Common Language Specification).

Namen CLS je opisati samo tisto podmnožico običajnih tipov in programskih konstruktov, ki jih sprejemajo absolutno vsi programski jeziki, ki podpirajo .NET.

13. Kateri programski jeziki podpirajo tehnologijo .NET?

V sistemu za razvoj aplikacij MS Visual Studio tehnologijo .NET podpirajo naslednji programski jeziki: C#, Visual Basic .NET, C++/CLI, JScript .NET, F#, J#.

Da bi lahko uporabljali tehnologijo .NET, morate na svoj računalnik namestiti programsko opremo Komplet za razvoj programske opreme Microsoft .NET Framework(SDK) ali Microsoft Visual Studio katere koli različice.

14. Kaj je imenski prostor?

Imenski prostor je namenjen združevanju skupine tipov, ki so med seboj povezani s semantičnega vidika. Vrste so postavljene v sklope (sestav). Tipi pomenijo razrede, delegate, vmesnike, strukture in naštevanja.

Primeri imen imenskih prostorov:

Sistem System.Data System.IO Sistem.Zbirke System.Threading.Tasks

Imenski prostor System.Data na primer vsebuje glavne tipe za delo z zbirkami podatkov, imenski prostor System.Collections pa glavne tipe za delo z zbirkami.

15. Kako prikazati vsebino sklopov, imenskih prostorov in tipov v MS Visual Studio?

Sistem Microsoft Visual Studio ima pripomoček Object Browser, ki ga prikličemo iz menija Pogled (slika 3).

riž. 3. Klicanje pripomočka Object Browser

To bo odprlo okno Object Browser, v katerem bodo prikazani sklopi, ki se uporabljajo v določeni tehnologiji.

Slika 4 prikazuje seznam sklopov, ki so prikazani v tehnologiji ».NET Framework 4«. Označen je sklop z imenom »mscorlib«.

riž. 4. Okno Object Browser z označenim sklopom mscorlib.dll

Če razširite vsebino sklopa mscorlib (» + «), potem bo prikazan seznam vseh imenskih prostorov za ta sklop (slika 5). Kot lahko vidite na sliki, sestav vključuje imenske prostore Microsoft.Win32, System, System.Collections, System.Collections.Concurrent in številne druge.

riž. 5. Sklop mscorlib in seznam imenskih prostorov, ki so vanj vključeni

Vsak imenski prostor se razširi na enak način. Imenski prostori opisujejo vrste. Tipi opisujejo metode, lastnosti, konstante itd.

Slika 6 prikazuje razred BinaryReader iz imenskega prostora System.IO. Očitno razred izvaja metode z imenom BinaryReader(), Close(), Dispose(), FillBuffer() in druge.

riž. 6. Vsebina razreda BinaryReader

16. Kako povezati imenski prostor v programu C#?

Če želite povezati imenski prostor, uporabite ključno besedo using

Lep dan vsem. Alexey Gulynin je v stiku. V tem prvem članku o C# bi rad govoril o platformi .NET Framework. Jezik C# in sama platforma sta se prvič pojavila leta 2002. Glavni namen njihovega nastanka je bil zagotoviti enostavnejši, bolj razširljiv in kar je najpomembneje zmogljivejši programski model v primerjavi s programskim modelom COM. Na podlagi platforme .NET Framework lahko izdelate aplikacije za družino operacijskih sistemov Windows; prav tako lahko izdelate aplikacije za Unix, Linux, Mac OS X. Spodaj je kratek opis seznam funkcij, ki jih podpira .NET Framework:

1) Sposobnost interakcije z obstoječo kodo. Ta zmožnost vam omogoča prevajanje na primer binarnih datotek COM in komponent .NET.
2) Podpora za različne programske jezike. Aplikacije .NET je mogoče ustvariti z uporabo različnih programskih jezikov, kot so C#, Visual Basic, F#.
3) Splošni izvršilni mehanizem. Bistvo tukaj je, da ima .NET poseben nabor vrst, ki jih lahko razume vsak jezik, ki podpira .NET.
4) Jezikovna integracija. Razred lahko napišete v Visual Basicu in ga nato razširite v C#.
5) Velika knjižnica osnovnih razredov. Zahvaljujoč tej knjižnici lahko pozabimo na zapletenost izvajanja nizkonivojskih klicev v API-je in se osredotočimo preprosto na programiranje.
6) Preprost model uvajanja. Za razliko od knjižnice COM, .NET ni treba registrirati v registru. Lahko obstaja kot assembly.dll.

Morda sem tukaj pisal o nekaterih nerazumljivih stvareh, na primer o razredih, vmesnikih API. S tem se še ni vredno obremenjevati. Načeloma lahko programirate, ne da bi vedeli vse to, ampak kako se učimo, prakso malo razredčimo s teorijo.
Da vas popolnoma zaključim s teorijo, vam bom povedal o glavnih gradnikih platforme .NET:

1) CLR (Common Language Runtime) - skupno jezikovno izvajalno okolje. Primarna naloga tega okolja je nalaganje in upravljanje objektov .NET (tako da programerju tega ni treba početi ročno). Poleg tega CLR skrbi za številne nizkonivojske podrobnosti, kot so upravljanje pomnilnika, namestitev aplikacij in izvajanje pregledov, povezanih z varnostjo aplikacij.
2) CTS (Common Type System) - sistem skupnega tipa. To opisuje vse možne vrste podatkov, ki jih podpira izvajalno okolje (CLR). Zavedati se morate, da en sam jezik morda ne podpira absolutno vseh funkcij, ki jih določa specifikacija CTS. Zato obstaja:
3) CLS (specifikacija skupnega jezika). Opisuje podmnožico običajnih tipov in programskih konstruktov, ki jih morajo podpirati vsi programski jeziki za .NET Framework.

Poleg specifikacij CLR in CTS/CLS ponuja platforma .NET knjižnica osnovnega razreda, ki je na voljo za vse programske jezike .NET. Ta knjižnica vam omogoča upravljanje na primer V/I datotek, grafike, različnih zunanjih naprav, podatkovnih tokov in različnih storitev na visoki ravni (brez razmišljanja o podrobnostih izvedbe).

Nisem mojster teorije pisanja, zato bom rekel, da tistim, ki želijo bolje razumeti filozofijo .NET, priporočam branje prvega poglavja knjige Andrewa Troelsena »Programski jezik C# 5.0 in platforma .NET 4.5, objavljeno 2013." Ta povzetek platforme .NET je vzet iz te knjige. Težava, na katero sem naletel pri tej knjigi, je bila, da jo začetnik težko razume. Morda se vam ne zdi, to je samo moje mnenje.

No, prijatelji moji, ste se še želeli naučiti C#? Potem pa pogumno naprej, obljubljam, da bo v bodoče minimalno teoretičnih člankov (pa če le na začetku učenja C#), samo ena praksa. Če potrebujete teorijo, pokadite knjigo Andrewa Troelsena.
In tako, če potrebujete kakršne koli informacije o razredu ali njegovi metodi, pojdite naravnost na

.NET Framework je ena od komponent sistema Windows. Omogoča ustvarjanje in uporabo aplikacij naslednje generacije. Namen platforme .NET Framework :

  • ustvarjanje celostnega objektno orientirano programsko okolje omogoča različne možnosti implementacije: kodo je mogoče shraniti in izvajati lokalno; izvajati lokalno in distribuirati prek interneta; ali izvajajo na daljavo;
  • Zagotavljanje okolja za izvajanje kode, ki zmanjšuje konflikte pri uvajanju programske opreme in različicah;
  • zagotavljanje varnosti izvajanja kode v okolju – vključno s kodo, ki jo je ustvaril neznan ali delno zaupanja vreden razvijalec;
  • zagotavljanje izvajalnega okolja kode za reševanje težav z zmogljivostjo v okoljih, ki temeljijo na skriptih ali interpretaciji;
  • poenotenje dela razvijalcev v popolnoma različnih aplikacijah: tako v aplikacijah Windows kot v spletnih aplikacijah;
  • uporaba industrijskih standardov na vseh področjih izmenjave podatkov in posledično zagotavljanje združljivosti kode, ustvarjene v ogrodju .NET Framework, z drugimi programi.