Struttura .NET

L-**Istruttura .NET tal-Microsoft** hija struttura għas-softwer li hija disponibbli ma' ħafna mis-sistemi operattivi tal-Microsoft Windows. Din tinkludi librerija kbira ta' soluzzjonijiet kodifikati biex jiġu evitati problemi komuni tal-ipprogrammar kif ukoll magna virtwali li tmexxi t-twettieq ta' programmi miktubin speċifikament għal din l-istruttura għas-softwer. L-Istruttura .NET hija maħsuba biex tintuża' mill-maġġoranza tal-programmi ġodda maħluqa għall-pjattaforma Windows.

Is-soluzzjonijiet kodifikati illi jiffurmaw il-Librerija ta' Klassijiet Bażi tal-Istruttura tkopri sensiela wiesgħa ta' bżonnijiet tal-ipprogrammar f'numru ta' oqsma, fosthom l-interfaċċa tal-utent, l-aċċess għad-data, il-konnessjoni mad-databażi, kriptografija, żvilupp tal-programmi għall-internet, algoritmi numeriċi, u netwerks tal-kompjuter. Il-librerija tal-klassi tintuża' mill-programmaturi, illi jikkumbinawha mal-kodiċi tagħhom biex jipproduċu il-programmi.

Programmi miktubin għall-Istruttura .NET jitwettqu f'ambjent tas-softwer illi jmexxi il-bżonnijiet tal-runtime tal-programm. Ukoll parti mill-Istruttura .NET, dan l-ambjent tal-ħintwettieq hu ukoll magħruf bħala ir-Runtime tal-Lingwa Komuni. Is-CLR jipprovdi l-apparenza ta' magna virtwali biex il-programmaturi ,ma jkollhomx għalfejn jikkunsidraw il-kapaċitajiet tal-Unit tal-Ipproċessar Ċentrali speċifiku illi ser iwettaq il-programm. Is-CLR ukoll jipprovdi servizzi oħrajn importanti fosthom is-sigurtà, tmexxija tal-memorja, u kkontrollar tal-eċċezjonijiet. Il-Librerija tal-Klassijiet u s-CLR flimkien jagħmlu l-Istruttura .NET.

Il-verżjoni 3.0 tal-Istruttura .NET hija inkluża ma Windows Server 2008 Windows Vista. Il-verżjoni kurrenti tal-Istruttura tista' tkun installata ukoll fuq is-sistemi operattivi  Windows XP  u Windows Server 2003. Verżjoni ridotta jew kumpatta tal-Istruttura .NET hija ukoll disponibbli fuq il-pjattaformi Windows Mobile, bl-ismartphones inklużi.

## Karatteristiċi prinċipali fid-disinn

; Interoperabilità : Minħabba l-operazzjoni bejn programmi ġodda u qodma hija sikwit meħtieġa, l-Istruttura .NET tipprovdi modi biex tiġi aċċeduta funzjonalità li hija implementata fi programmi li huma eżegwiti barra l-ambjent tal-Istruttura .NET. Aċċess għall-komponenti tal-Oġġett Mudell tal-Komponenti (bl-Ingliż Component Object Model (COM)) huwa provdut fin-namespaces System.Runtime.InteropServices u System.EnterpriseServices tal-istruttura; aċċess għall-funzjonalitaà oħra hija provduta bl-użu tal-karatteristika Platform Invocation Services(P/Invoke).
; Il-Magna tar-Runtime Komuni :  Ir-Runtime tal-Lingwa Komuni (bl-Ingliż Common Language Runtime (CLR)) huwa l-komponent magna virtwali tal-istruttura .NET. Il-fatt illi il-programmi kollha tad-.NET huma eżegwiti taħt it-tmexxija tas-CLR,  jiggarantixxi ċertu propjetajiet u komportamenti fl-erjas tal-immaniġjar tal-memorja, sigurtà, u fl-immaniġjar tal-eċċezjonijiet. 
; Indipendenza Tal-Lingwa : L-Istruttura .NET tintroduċi Sistema Komuni tat-Tipi (bl-Ingliż Common Type System (CTS)). L-ispeċifikazzjoni tas-CTS tiddefinixxi it-tipi tad-data kollha li huma possibli u l-binjiet għall-ipprogrammar sapportjati mis-CLR u kif huma jkunu istgħu jew ma jistgħux jinteraġixxu ma xulxin. Minħabba f'din il-karatteristika,l-Istruttura .NET tissapportja t-tpartit ta' istanzi ta' tipi bejn programmi miktuba f'waħda mill-lingwi .NET. Dan hu diskuss f'aktar dettal fl-artiklu Lingwi .NET.
; Librerija ta' Klassijiet Bażi : Il-Librerija ta' Klassijiet Bażi (bl-Ingliż Base Class Library (BCL)), parti mill-Librerija ta' Klassijiet tal-Istruttura(bl-Ingliż Framework Class Library (FCL)), hija librerija ta' funzjonalità disponibbli għal-lingwi kollha li jużaw l-Istruttura .NET. Il-BCL tipprovdi klassijiet illi jenkapsulaw numru ta' funzjonijiet komuni, fosthom il-qari u l-kitba tal-fajls, grafika, interazzjoni tad-databażijiet u l-manipulazzjoni tad-dokumenti XML.
; Tiftih Simplifikat : L-Istruttura .NET tinkludi karatteristiċi tad-disinn u għodod illi jgħinu fit-tmexxija tal-installazzjoni tas-ssoftwer tal-kompjuter biex jiżguraw illi ma jinterferix ma softwer installat qablu, u illi jikkonforma mal-bżonnijiet tas-sigurtà.
; Sigurtà : Id-disinn huwa magħmul biex jindirizza xi wħud mill-vulnerabbiltajiet, fosthom it-tfawwir tal-buffer, illi ġie użat minn softwer malizzjuż. Ukoll, .NET jipprovdi mudell komuni tas-sigurtà għall-programmi kollha.
; Portabilità : Id-disinn tal-Istruttura .NET jippermettilha illi teoretikament tkun pjattaforma agnostika, u allura tkun kumpatibbli bejn il-pjattaformi. Dan ifisser, illi programm miktub biex juża l-istruttura għandu jaħdem mingħajr tibdil fuq kwalsiasi sistema li għaliha hija implementata l-istruttura. L-implementazzjonijiet kummerċjali tal-Microsoft tal-istruutura jinkludu l-Windows, Windows CE, u l-Xbox 360. Ukoll, Microsoft tissottometti l-ispeċifikazzjonijiet għall-Infrastruttura tal-Lingwa Komuni (illi tinkludi il-librerija ta' klassijiet ta' ġewwa, is-Sistema Komuni tat-Tipi, u l-Lingwa Komuni tan-Nofs), il-lingwa C#, u l-lingwa C++/CLI lill-ECMA u lill-Organiżżazzjoni Internazzjonali tal-Istandardiżżazzjoni (ISO), li jagħmilhom disponibbli bħala standards miftuħa. Dan jagħmel possibli lill-partiti terzjarji li jikrejaw implementazzjonijiet tal-istruttura u l-lingwi tagħha fuq pjattaformi oħrajn.

## Arkitettura
 

### Infrastruttura tal-Lingwa Komuni (CLI)

L-aspetti ġewwinija tal-Istruttura .NET jinstabu ġol-Infrastruttura tal-Lingwa Komuni, jew CLI. L-iskop tas-CLI huwa illi jipprovdi pjattaforma newtrali għall-ftih u t-twettieq tal-programmi, fosthom funzjonijiet għall-kontrollar tal-eċċezjonijiet, ġbir tal-iskart, sigurtà, u interoperabbiltà. L-implementazzjoni tas-CLI tal-Microsoft jgħidulu r-Runtime tal-Lingwa Komuni jew CLR.

### Assemblej

Il-kodiċi tan-nofs tal-Lingwa Komuni tan-Nofs jew CIL jinstab Assemblej .NET. Kif meħtieġ mill-ispeċifikazzjoni, l-assemblej huma miżmuma fil-format tal-Eżegwibbli Portabbli (PE),komuni fuq il-pjattaforma Windows għall-fajls kollha DLL u EXE. L-assemblea tikkonsisti f'fajl wieħed jew aktar, li minnhom wieħed irid ikun fih il-manifest, li għandu l-metadata għall-assemblea. L-isem komplut tal-assemblea (ma jridx ikun konfuż mal-isem tal-fajl fuq id-diska) fih ismu sempiliċi, l-verżjoni, kultura, u t-token taċ-ċavetta komuni. Il-marka taċ-ċavetta komuni huwa kanċellett wieħed generat meta l-assemblea tiġi kompilata, allura żewġ assemblei bl-istess marka taċ-ċavetta komuni huma garantiti li jkunu identiċi mill-punto di vista tal-istruttura. Ċavetta privata tkun ukoll tkun speċifikata u tkun magħrufa biss lill-ħallieq tal-assemblea u tista' tkun użata biex tiġi msemmija qawwi u biex tiggarantixxi li l-assemblea hija mill-istess awtur meta verżjoni ġdida hija kompilata (hija bżonn biex l-assemblea tkun miżjuda fill-Cache Globali tal-Assemblej).

### Metadata

Il-Lingwa Komuni tan-Nofs (CIL) tiddeskrivi lilha nnifisha bl-użu tal-Metadata .NET. Ir-Runtime tal-Lingwa Komuni (CLR) jiċċekja l-metadata biex jiżgura illi l-proċedura korretta tiġi mgħajta. Il-metadata hija normalment iġġenerata mill-kompilaturi tal-lingwi imma l-iżviluppaturi jistgħu jikkrejaw il-metadata tagħhom bl-attributi tagħhom. Il-metadata jkun fiha informazzjoni fuq l-assemblea, u hija ukoll użata biex tiġi implemetata l-abilità tar-riflessjoni tal-Istruttura .NET.

### Sigurtà
l-Istruttura .net għandha l-mekkaniżmu tas-sigurtà tagħha b'żewġ karatteristiċi generali: Sigurtà tal-Aċċess tal-Kodiċi (bl-Ingliż Code Access Security (CAS)), u l-validazzjoni u l-verifikazzjoni. Is-Sigurtà tal-Aċċess tal-Kodiċi hija bbażata fuq l-evidenza li hija assoċjata ma l-assembea. Tipikament l-evidenza hija s-sors tal-assemblea (tista tkun installata lokalment jew mniżżla mill-Intranet jew mill-Internet). Is-Sigurtà tal-Aċċess tal-Kowd tuża l-evidenza biex tiddetermina il-permessi mogħtija lill-kowd. Kowd ieħor jista' jsaqsi biex il-kowd li għajjatlu jiġi mgħoti permess speċifiku. Il-mistoqsija tikkawża s-CLR li jsaqsi għall-mixja tal-call stack: kull assemblea ta' kull proċedura fil-call stack hija ċċekjata għall-permess li hemm bżonn; jekk l-assemblea mhix mogħtija l-permess ikun hemm eċċezzjoni tas-sigurtà.

Mrta assemblea hija llowdjata is-CLR jgħmel testijiet varji. Tnejn minnhom huma l-validazzjoni u l-verifikazzjoni. Waqt il-validazzjoni s-CLR jiċċekja illi l-assemblea fiha Metadata u Lingwa Komuniv tan-Nofs (bl-Ingliż Common Intermediate Language jew CIL) validi, u jekk it-tabelli interni hekk humiex korretti. Il-verifikazzjoni mhijiex eżatta ħafna. Il-mekkaniżmu tal-verifikazzjoni jiċċekja biex jara hekk il-kowd jagġmelx affarijiet li mhumiex siguri. L-algoritmu użat humwa conservattiv ħafna; allura ġieli kowd li huwa sigur ma jgħaddix. Kowd mhux sigur jiġi eżegwit biss jekk l-assemblea għandha l-permess biex tiġi mqabbża l-verifikazzjoni, illi ġenaralment tiġri b'kowd installat fuq il-magna lokali.

L-Istruttura .NET tuża id-Dominji tal-Applikazzjonijiet (bl-Ingliż Application Domains jew appdomains) bħala mekkaniżmu t'iżolazzjoni tal-kowd li qed jiġi eżegwit fi proċess. L-appdomains jistgħu jiġi kreati u l-kowd illowdjat jew imneħħi minnhom b'mod indipendenti minn appdomains oħrajn. Dan jgħin biex tizdied it-tolleranza tal-iżbalji tal-programm, minħabba li żbalji f'appdomain wieħed ma ma jaffetwawx l-kumplament tal-programm. L-appdomains jistgħu ukoll jiġi ssetjati independenti bi privileġġi tas-sigurtà oħrajn. Dan jgħin biex tiżdied is-sigurtà tal-programm permezz tal-iżolazzjoni ta'kowd li huwa probabbilment mhux sigur. L-iżviluppatur, imma, għandu jaqsam il-programm f'dominji; dan mhux magħmul mis-CLR.

### Librerija ta' Klassijiet



L-Istruttura .NET tinkludi sett ta' libreriji ta' klassijiet standard. Il-librerija ta' klassijiet hi organizzata f' ġerarkija ta' Namespaces. Ħafna mill-APIs li huma inklużi huma parti minn namespaces `System.*` jew `Microsoft.*`. Dawn il-libreriji ta' klassijiet jimplementaw numru ta' funzjonijiet komuni, bħall-kitba l-qari tal-fajls, grafika, interazzjoni ta' databażi, u l-manipulazzjoni ta' dokumenti XML, fost l-oħrajn. Il-libreriji ta' klassijiet .NET huma aċċessibli mill-Lingwi .NET kollha. Il-librerija ta' klassijiet tal-Istruttura .NET hi maqsuma f'biċċtejn: il-Librerija ta' Klassijiet Bażi u l-Librerija ta' Klassijiet tal-Istruttura.

Il-**[[Librerija ta' Klassijiet Bażi]]** jew BCL tinkludi sett zgħir mill-librerija ta' klassijiet kollha u hija s-sett fundamentali tal-klassijiet li jservu bħala l-API tal- Runtime tal-Lingwa Komuni. Il-klassijiet f' `mscorlib.dll` u xi wħud mill-klassijiet f' `System.dll` u `System.Core.dll` huma ikkunsidrati parti mill-BCL. Il-klassijiet tal-BCL huma proovduti fl-Istruttura .NET kif ukoll fl-implementazzjoniet alternattivi għalih fosthom l-IStruttura .NET Kumpatta, Microsoft Silverlight u Mono. 

Il-**[[Librerija ta' Klassijiet tal-Istruttura]]** jew FCL huwa sett ikbar tal-klassijiet tal-BCL u jirreferi għall-librerija ta' klassijiet kollha illi tiġi mal-Istruttura .NET. Tinkludi sett ta' klassijiet espans, fosthom WinForms, ADO.NET, ASP.NET, Mistoqsija Integrata mal-Lingwa, Fondazzjoni tal-Preżentazzjoni Windows, Fondazzjoni tal-Komunikazzjoni Windows fost l-oħrajn. L-FCL hija ikbar fl-iskop mill-libreriji standard għall-lingwi bħas-C++, u hija kumparabbli fl-iskop mal-libreriji ta' klassijiet standard tal-Java.

### Immaniġjar tal-memorja

Is-CLR tal-Istruttura .NET jeħles l-iżviluppatur mill-ħsieb li jimmaniġja l-memorja (jallokaha u jilliberaha meta jkun lest); minflok timmaniġja l-memorja hi stess. Sa dan il-punt, il-memorja allokata għall-istantazzjoni tat-tipi .NET (oġġetti) huwa magħmul kontigwament mill-gozz immaniġjat, għadira tal-memorja immaniġjat mis-CLR. Sakemm hemm refernza għall-oġġett, li tista tkun referenza diretta lejn oġġett jew permezz ta' "graph" ta'oġġetti, l-oġġett huwa ikkunsidrat bħala wieħed li qed jiġi użat mis-CLR. Meta m'hemmx referenza lejn oġġett, u ma jistax jintlaħaq jew uzat, isir skart. Imma, xorta jżomm il-memorja allokata lilu. L-istruttura .NET fiha kollettur tal-iskart illi jaħdem perjodikament, fuq proċess separat mill-proċess tal-applikazzjoni, illi jenumera l-oġġetti kollha mhuż użati u jillibera l-memorja kollha allokata għalihom.

Il-kollettur tal-iskart .NET (bl-Ingliż Garbage Collector jew GC) huwa kolletur tal-iskart non deterministiku, li jikkumpatta, jimmarka u jiġbor. il-GC jaħdem biss meta ċertu ammont ta'memorja ġiet użata jew hemm biżżejjed pressa għall-memorja fuq is-sistema. Minħabba li mhux iggarantit meta l-kundizzjonijiet għall-ġbir tal-memorja ser jintlaħqu, ix-xogħol tal-GC huwa non deterministiku. Kull programm .NET għandu sett ta' għeruq, illi jindikaw oġġetti fuq il-gozz immaniġjat (*oġġetti immaniġjati*). Dan jinkludi r-referenzi lejn oġġetti statiċi u oġġetti iddefiniti bħala varijabli lokali jew parametri tal-metodu kurrentament fl-iskop, kif ukoll oġġetti irreferenzjati mir-reġistri tas-CPU. Meta l-GC jaħdem, iwaqqaf l-applikazzjoni, u għall-kull oġġett irreferenzjat fl-għerq, jenumera l-oġġetti li jistgħu jintlaħqu mill-għerq u jimmarkahom bħala li jistgħu jintlaħqu. Juża l-metadata .NET u r-riflessjoni biex jiskopri l-oġġetti enkapsulati minn oġġett, u mbagħad jimxihom rekursivament. Imbagħad jenumera l-oġġetti fuq il-gozz (illi inizjalment kienu allokati kontigwament) permezz tar-riflessjoni. L-oġġetti mhuz immarkati bħala li jistgħu jintlaħqu huma skart. Din hi l-fażi tal-*immarkar*. Minħabba li l-memorja okkupata mill-iskart mhi tal-ebda konsegwenza, hija ikkunsidrata bħala spazju vojt. Imma, dan iħalli ħafna spazju vojt bejn l-oġġetti illi inizjalment kienu kontigwi. L-oġġettu imbagħad jiġu *ikkumpattati* flimkien, permezz tal-`memcpy` biex jiġi ikkupjati lejn l-ispazju vojt biex jerġgħu isiru kontigwi. Kwalsiasi referenza lejn oġġett invalidata mit-tmexxija tal-oġġett hija rranġata biex tirrifletti l-post il-ġdid mill-GC. Meta l-ġbir tal-iskart ikun lest l-applikazzjoni tkompli.

Il-GC użat mill-Istruttra .NET huwa *ġenerazzjonali*. L-Oġġetti huma assenjati *ġenerazzjoni*; l-oġġetti li għadhom kif inħolqu huma parti minn *Ġenerazzjoni 0*. L-oġġetti li jibqgħu ħajjin wara l-ġbir tal-iskart huma mmarkati *Ġenerazzjoni 1*, u l-oġġetti ta' Ġenerażżjoni 1 illi jibqgħu ħajjin wara ġbir ieħor huma *Ġenerazzjoni 2*. L-Istruttura .NET tuża sa oġġetti ta' Ġenerazzjoni 2. Ġenerazzjonijiet għola huma skart miġbur inqas regolarment minn oġġetti ta' ġenerazzjonijiet aktar l-isfel. Dan iżid l-effiċjenza tal-ġbir tal-iskart, għax oġġetti li huma eqdem għandhom ħajja itwal minn oġġetti iġded. Allura, permezz tat-tneħħija tal-oġġetti l-qodma (u allura aktar faċli li jibqgħu ħajjin wara ġabra) oġġetti mill-iskop ta' ġabra li saret, inqas oġġetti ikollhom bżonnn li jiġu iċċekjati u kumpatti.

## Standardizzazzjoni u liċenzjar

F' Awwissu 2000, Microsoft, Hewlett-Packard, u Intel ħadmu biex jistandardizzaw is-CLI u lingwa tal-ipprogrammar, C#. Sa Diċembru 2001, it-tnejn kienu ratifikati bħala standards tal-ECMA (ECMA 335 u ECMA 334). L-ISO segwiethom f'April 2003 - il-verżjonijiet kurrenti tal-istandards ISO huma ISO/IEC 23271:2006 u ISO/IEC 23270:2006.

Il-Microsoft u l-imseħbin tagħha għandhom il-brevetti għas-CLI u s-C#, waqt li l-ECMA u l-ISO għandhom bżonn illi l-brevetti essenzjali għall-implementazzjoni ikunu magħmula disponibbli taħt "termini raġonevoli u non-diskriminatorji". Imbarra r-rispettar ta' dawn it-termini, il-kumpaniji qablu biex jagħmlu l-brevetti disponibbli minajr regalità.

Imma, dan ma japplikax għal parti tal-Istruttura .NET illi mhix koperta mill-istandard ECMA/ISO , illi jinkludi Windows Forms, ADO.NET, u ASP.NET. Il-brevetti illi żżomm il-Microsoft f'dawn is-sezzjonijiet jistgħu iwaqqfu implementazzjonijiet tal-istruttura kollha mhux magħmulin mill-Microsoft.

Fit-3 t'Ottubru 2007, Microsoft avżat illi ħafna mil-kodiċi fonti tal-Istruttura .NET Librerija ta' Klassijiet Bażi (li tinkludi l-ASP.NET, l-ADO.NET, u l-Fondazzjoni tal-Preżentazzjoni Windows) kien ser ikun disponibbli mal-aħħar verżjoni tal-Visual Studio 2008 lejn l-aħħar ta' l-2007 taħt fonti maqsum Liċenzja tar-Referenza Microsoft. Il-kodiċi fonti għall-libreriji l-oħrajn fosthom Fondazzjoni tal-Komunikazzjoni Windows (WCF), Fondazzjoni tal-Workflow Windows (WF), and Mistoqsija Integrata mal-Lingwa (LINQ) kienu ser jiġi inkluż ma verżjonijiet futuri. Minħabba li ġie maħruġ taħt il-liċenzja Fonti-Miftuħ tar-Referenza Microsoft ifisser illi dan il-kodiċi fonti huwa disponibbli għall-skopijiet tat-tneħħija tal-iżbalji biss, primarjament biex jiżdied support għat-tneħħija tal-iżbalji integrat tal-BCL fil-Microsoft Visual Studio.

## Verżjonijiet
Il-Microsoft bdiet l-iżvilupp fuq l-Istruttura .NET fl-aħħar tas-snin disgħin oriġinarjament taħt l-isem ta'Servizzi Windows tal-Ġenerazzjoni li Jmiss (bl-Ingliż Next Generation Windows Services (NGWS)). Lejn l-aħħar tas-sena 2000 l-ewwel verżjonijiet beta ta' .NET 1.0 kienu maħruġa.

Lista aktar kompluta tal-ħarġiet tal-Istruttura .NET tinsab fil-Lista tal-verżjonijet tal-Istruttura .NET.

### Struttura .NET 1.0

Din hi l-ewwel ħarġa tal-Istruttura .NET, maħruġa nhar it-13 ta'Frar 2002 u disponibbli għall-Windows 98, Me, NT 4.0, 2000, u XP. Għajnuna mill-Microsoft għal din il-verżjoni waqfet nhar l-10 ta'Lulju 2007, u l-għajnuna estiża waqfet nhar l-14 ta'Lulju 2009.

### Struttura .NET 1.1

Dan hija l-ewwel reviżjoni maġġuri tal-Istruttura .NET. Hija disponibbli għalijha bħala pakkett li jista' jiġi distribwit b'xejn jew f'kit tal-iżvilupp tas-softwer, u ġie ippublikat nhar it-3 t'April 2003. Huwa ukoll parti tat-tieni ħarġa tal-Microsoft Visual Studio.NET (maħruġ bħala Visual Studio .NET 2003). Din hi l-ewwel verżjoni tal-Istruttura .NET inkluża bħala parti mis-sistema operattiva Windows, parti mil-Windows Server 2003. Għajnuna għall-Istruttura .NET Framework 1.1 waqfet nhar l-14 t'Ottubru 2008, u l-għajnuna estiża ser tieqaf nhar it-8 t'Ottubru 2013. Sa minn .NET 1.1 hu komponent tal-Windows Server 2003, għajnuna estiża għal-.NET 1.1 fuq Server 2003 ser tieqaf ma dik tas-sistema operattiva stess - l-14 ta'Lulju 2015.

#### Tibdiliet f' 1.1 meta kumparat ma 1.0
* Għajnuna għall-kontrolli ASP.NET mobbli. Qabel add-in għall-istruttura, issa parti minnha.
* Tibdiliet f-sigurtà - assemblei Windows Forms mħallija jiġu eżegwiti b-mod semi-għafdat mill-Internet, u s-Sigurtà tal-Aċċess tal-Kodiċi f' applikazzjonijet ASP.NET.
* Għajnuna għall-ODBC u databażijiet Oracle. Qabel add-in għall-Istruttura .NET 1.0, issa parti mill-istruttura.
* Struttura .NET Kumpatta - verżjoni kumpatta tal-Istruttura kumpatta għall-kompjuters żgħar.
* Support għall-Protokoll tal-Internet verżjoni 6 (IPv6).
* Tibdiliet numeruza fl-API.

### Struttura .NET 2.0
Maħruġa ma Visual Studio 2005, Microsoft SQL Server 2005, u BizTalk 2006.
* Il-pakkett distribwibbli 2.0 jista' jiġi mniżżell b'xejn minn Microsoft, u ġie ippublikat nhar it-22 ta'Jannar 2006.
* Il-Kit tal-Iżvilupp tas-Softwer 2.0 (SDK) jista' jiġi mniżżel b'xejn minn Microsoft.
* Huwa inkluż bħala parti minn Visual Studio 2005 u Microsoft SQL Server 2005.
* Il-Verżjoni 2.0 mingħajr Pakkett tas-Servizz hija l-aħħar verzjoni li għandha support għall- Windows 98 u Windows Me. Il-Verżjoni 2.0 bil-Pakkett tas-Servizz 2 hija l-aħħar verżjoni b'support uffiċjali għall-Windows 2000 għalkemm kien hemm xi workarounds mhux uffiċjali ippublikati online li jużaw parti mill-funzjonalità minn Verżjoni 3.5 fil-Windows 2000. Il-Verżjoni 2.0 bil-Pakkett tas-Servizz 2 għandha bżonn ta'Windows 2000 b'SP4 kif ukoll ir-reviżjoni KB835732 jew KB891861, Windows XP b'SP2 jew wara u Windows Installer 3.1 (KB893803-v2).
* Ħarget ma Windows Server 2003 R2 (mhux installat waħdu).

#### Tibdiliet f' 2.0 meta kumparat ma 1.1
* Tibdiliet numerużi fl-API.
* API ġdid għall-hosting għall-applikazzjonijiet nattivi li jixtiequ jiħħostjaw partijiet tar-runtime .NET. L-API il-ġdid jagħti kontroll fin tal-komportament tar-runtime fil-każ tal-multithreading, allokazzjoni tal-memorja,illowdjar tal-assemblei u aktar (referenza dettaljata). Inizjalment ġiet żviluppata biex tiħħostja b'mod effiċjenti r-runtime f'Microsoft SQL Server, illi jimplementa li-skedatur u l-maniġer tal-memorja tiegħu.
* Support sħiħ 64-bit għall-pjattaformi tal-ħardwer x64 u IA64.
* Support tal-lingwa għall-tprogrammar ġeneriku mibni direttament fis-CLR.
* Ħafna kontrolli oħrajn u irranġata għall-ASP.NET.
* Kontrolli ġodda għad-data b'irbit tad-data deklarattiva.
* Funzjonijiet ġodda tal-personalizzazzjoni għall-ASP.NET, bħas-support għat-temi, skins u partijiet web.
* Mikro Struttura .NET - verżjoni tal-Istruttura .NET relata mal-inizzjattivaTeknoloġija tal-Oġġetti Personali Intelliġenti.
* Klassijiet parzjali
* Metodi anonimi
* Tabelli tad-data

### Struttura .NET 3.0
**Struttura .NET 3.0**, qabel magħrufa bħala **WinFX**, ġiet maħruġa nhar il-21 ta'Novembru 2006. Tinkludi sett ġdid ta' APIs għall-kodiċi immaniġjat illi huma parti integrali tas-sistemi operattivi Windows Vista u Windows Server 2008. Huwa ukoll disponibbli għall-Windows XP SP2 u Windows Server 2003 bħala download. M'hemm l-ebda tibdil arkitettoniku maġġuri inkluż ma din il-ħarġa; L-Istruttura .NET 3.0 tuża r-Runtime tal-Lingwa Komuni tal-Istruttura .NET 2.0. Ma kien hemm l-ebda ħarġa tal-Istruttura .NET Kumpatta marbuta ma din il-ħarġa bħal ma kien hemm ma ta' qabilha.

L-Istruttura .NET 3.0 tikkonsisti f'4 komponenti maġġuri:
* **[[Fondazzjoni tal-Preżentazzjoni Windows]]** (WPF), li qabel kellha isem kodiċi **Avalon**; sistema tal-interfaċċa ġdida u API ibbażata fuq l-XML u l-grafika vettorjali, illi tuża it-teknoloġiji tal-ħardwer tal-grafika 3D u Direct3D. ara WPF SDK għal-artikli u dokumentazzjobi għall-iżviluppaturi fuq il-WPF.
* **[[Fondazzjoni tal-Komunikazzjoni Windows]]** (WCF), li qabel kellha l-isem kodiċi **Indigo**; sistema ta' messaġġar orjentata lejn is-servizzi illi tippermetti lill-programmi jinteroperaw lokalment u remotament b'mod simili għas-servizzi web.
* **[[Fondazzjoni tal-Workflow Windows]]** (WF) tippermetti il-bibi tal-awtomazzjoni tax-xogħol u tranżazzjonijiet integrati bl-użu tal-workflows.
* **[[Windows CardSpace]]**, li qabel kellu l-isem kodiċi **InfoCard**; komponent tas-softwer illi b'mod sigur jaħżen l-identitajiet diġitali ta' persuna u jipprovdi interfaċċa unifikata għall-għażla ta' identità għal-tranżazzjoni partikulari, pereżempju l-aċċess għall-websites.

### Struttura .NET 3.5
Il-verżjoni 3.5 otal-Istruttura .NET inħarġet nhar id-19 ta'Novembru 2007, imma mhix inkluża mal-Windows S0erver 2008.  Bħal ma għamlet l-Istruttura .NET 3.0, il-verżjoni 3.5 tuża s-CLR tal-verżjoni 2.0. Ukoll, tinstalla **Struttura .NET 2.0 SP1**, (**tinstalla Struttura .NET 2.0 SP2 mal-verżjoni 3.5 SP1)** u **Struttura .NET 3.0 SP1** (**tinstalla Struttura .NET 3.0 SP2 ma 3.5 SP1**), illi jżid xi metodi u propjetajiet mal-klassijiet tal-BCL mal-verżjoni 2.0 illi hemm bżonnhom fil-verżjoni 3.5. Fosthom insibu Mistoqsija Integrata mal-Lingwa (LINQ). Dawn it-tibdiliet ma jaffetwawx programmi miktuba għall-verżjoni 2.0.

Bħal ma ġara ma' verżjonijiet preċedenti, ħarġet ukoll l-**Istruttura .NET Kumpatta 3.5** ma din ir-reviżjoni biex tipprovdi support għall-fetures extra fuq il-Windows Mobile u l-makkinarju lu juża Windows Embedded CE.

Il-kodiċi fonti tal-Librerija ta' Klassijiet Bażi ta' din il-verżjopni ġie parzjalment maħruġ (bħala refernza għat-tneħħija tal-iżbalji biss) taħt il-Liċenzja tar-Referenza Microsoft (Ms-RSL)

#### Tibdiliet mil-verżjoni 3.0
* Karatteristiċi ġodda fill-lingwi C# 3.0 u VB.NET 9.0
* Iżid support għas-siġar tal-espressjoni u l-metodi lambda
* Metodi tal-Estenjoni
* Siġar tal-Espressjoni biex jirraprezentaw il-kodiċi fonti ta' livell għoli waqt il-ħin tal-eżekuzzjoni
* Tipi anonimi b'inferenza tat-tipi statiċi 
* Mistoqsija Integrata mal-Lingwa (LINQ) flimkien mal-providenzjaturi tagħha:
** LINQ għall-Oġġetti
** LINQ għall-XML
** LINQ għall-SQL
* Support għall-paġinar fl-ADO.NET
* APi tas-sinkronizzar ADO.NET biex jissinkronizza d-data lokali ma' dik ta' fuq is-servers
* APi għall-I/O tan-netwerk asinkronu.
* Munzell tan-Netwerkjar Peer-to-peer, risolvitur PNRP immaniġjat inkluż
* Wrappers immaniġjati għall-iStrumentazzjoni għall-Immaniġjar Windows u API għad-Direttorju Attiv
* Verżjoni aħjar tar-runtimes tal-WCF u l-WF, illi jħalli lill-WCF taħdem mal-POX u l-JSON , kif ukoll tesponi l-workflows WF bħala servizzi WCF. Servizzi WCF jistgħu jiġu magħmula statevoli permezz tal-mudell tal-persistenza WF.
* Support għall-piplining HTTP u għall-fontijiet tas-sindikazzjoni.
* ASP.NET AJAX jiġi inkluż 
* Namespace `System.CodeDom` ġdid.

#### Pakkett tas-Sevizz 1
Il-Pakkett tas-Servizz 1 tal-Istruttura .NET inħareġ nhar il-11 t'Awwissu 2008. din il-ħarġa izid funzjonijiet ġodda u tipprovdi titjib taħt ċerti kundizzjonijiet, speċjalment mal-WPF fejn titijib ta' 20-45% hu mistenni. Żewġ komponenti tad-data ġodda ġew miżjuda , l-Struttura tal-Entitajiet ADO.NET u s-Servizzi tad-Data ADO.NET. Żewġ assemblej ġodda għall-iżvilupp web, System.Web.Abstraction u System.Web.Routing, ġew miżjuda; dawn huma użati fl-iStruttura ASP.NET MVC u, ser jintużaw f'ħargiet futuri tal-applikazzjonijiet ASP.NET Forms. il-pakkett tas-servizz 1 hu inkluż ma'SQL Server 2008 u Visual Studio 2008 Pakkett tas-Servizz 1.

Hemm ukoll varjant ġdid tal-Istruttura .NET, msemmija "Profil tal-Klijent tal-Istruttura .NET", illi għandu daqs ta'28 MB u huwa iżgħar mill0-istruttura sħiħa u tinstalla biss il-komponenti li huma l-aktar rilevanti għall-applikazzjonijiet tad-desktop. Imma, il-profil tal-klijent jammonta għal-dan id-daqs biss jekk jintuża l-installatur web. Meta tuża l-installatur off-line, id-daqs xorta jibqa 250 MB.

## Ħoloq Esterni
* Il-logo il-ġdid tal-Istruttura .NET
* Ċentru tal-Iżvillupaturi għall-Istruttura .NET
* Tutorial fuq l-Istruttura .NET
* Ċentru tal-Iżvillupaturi għall-Windows Vista
* BCL Team Blog
* Interview fuq Channel 9 ma Jason Zander, managar tat-tijm tal-Istruttura .NET, fuq .NET Fx 3.5;fajl Windows Media Video(wmv).