Den här artikeln eller det här avsnittetinnehåller inaktuella uppgifter och behöver uppdateras.(2018-12) Hjälp gärna Wikipedia att åtgärda problemet genom attredigera artikeln eller diskutera saken pådiskussionssidan.
Uppslagsordet ”.NET” leder hit. För toppdomänen, se.net.
.NET Framework är en teknologi som stöttar byggandet och exekveringen avMicrosoft Windows applikationer och webtjänster. Den består av en samling komponenter som hanterarexekveringen av program som är skrivna speciellt för ramverket. Den består också av ett stortklassbibliotek innehållande förkodade lösningar för vanliga programmeringsuppgifter såsomkryptografi,databashantering, anslutning tillnätverk,webbtjänster ochalgoritmer. Det här ärMicrosofts svar påSunsJava-plattform. Till skillnad från Java så är konceptet bakom .NET Framework standardiserat somCommon Language Infrastructure (CLI) (publicerat somECMA-335 ochISO/IEC 23271).
Det finns inbyggda funktioner som tillåter kommunikation med applikationer utanför .NET-miljön. Tillgång tillCOM-komponenter ges avnamnutrymmenaSystem.Runtime.InteropServices ochSystem.EnterpriseServices. Annan funktionallitet tillhandahålls avP/Invoke.
.NET Framework introducerar ett gemensamt typsystem (Common Type System eller CTS). CTS definierar datatyper och byggstenar som stöds av CLR och hur de interagerar med varandra. Detta gör det möjligt för .NET-språken att utbyta instanser av typer mellan varandra.
Base Class Library (BCL), en del av Framework Class Library, innehåller det mest grundläggande för .NET Framework. BCL innehåller klasser som omsluter en del vanliga funktioner såsom filhantering, grafisk rendering, databasinteraktion och manipulation avXML-dokument.
Installation av programvara måste ses till så att de inte påverkar programvara som redan är installerad. .NET Framework innehåller verktyg som uppfyller dessa krav.
.NET Frameworks design gör att den i teorin är multiplattforms-kompatibel. Ett program som är skrivet för att använda .NET Framework ska kunna exekveras på ett system där ramverket är implementerat. Microsofts kommersiella implementation stödjerWindows,Windows CE ochXbox 360. Utöver detta har Microsoft gjort sin teknik tillgänglig som öppna standarder (Common Language Infrastructure, dess komponenter, programspråkenC# ochC++/CLI) och tillhandahåller specifikationer för dessa. Detta gör det möjligt för tredjepartsutvecklare att själv implementera kompatibla implementationer på andra plattformar.
.NET Frameworks huvudaspekter är del av Common Language Infrastructure, eller CLI. Syftet för CLI är att tillhandahålla en språkoberoende plattform för programutveckling och exekvering. Detta inkluderar funktioner förundantagshantering,skräpinsamling, säkerhet och interoperabilitet. Microsofts implementation av CLI kallasCommon Language Runtime, ellerCLR. CLR består av fyra primära delar:
Den intermediära CLI-koden lagras i.NET assemblyn. Enligts specifikationerna sparas assemblierna iPortable Execution (PE) formatet, gemensamt på Windows plattformen som DLL och EXE-filer. Ett assembly innehåller ett manifest med metadata.
All CLI är självbeskrivande genom.NET Metadata. CLR kontrollerar metadatan för att försäkra sig att rätt metod kallas. Metadatan genereras vanligen av kompilatorn men utvecklarna kan skriva egen med hjälp av attribut. Metadatan innehåller information om assemblyn, och används också för att implementerareflektiv programmering i .NET Framework.
Micrsoft .NET Framework innehåller ett antal klassbibliotek. Klassbiblioteket är hierarkiskt organiserat inamnutrymmen. De flesta av de inbyggda API:erna är en del av namnutrymmenaSystem.* ellerMicrosoft.*.
Base Class Library (BCL) är ett subset av hela klassbiblioteket som tjänar som grund-API för Common Language Runtime. Klasserna imscorlib.dll och en del av klasserna iSystem.dll ochSystem.core.dll anses vara en del BCL. BCL finns implementerat i.NET Compact Framework,Microsoft Silverlight ochMono.
CLR sköterminneshanteringen (allokering och frigöring av minne) för att underlätta för utvecklaren. Minne för .NET typer (objekt) allokeras frånheapen, ett minne som sköts om av CLR. Objekten på heapen existerar så länge det finns en referens till dem, antingen direkt eller indirekt via en graf av objekt. När det inte finns någon referens till objektet så kan den inte längre användas, det har blivit skräp. Objektet har dock fortfarande minne allokerat till sig. .NET Framework inkluderar enskräpinsamlare som med jämna mellanrum sveper igenom heapen och letar efter orefererade objekt vars minne den sedan avallokerar. Skräpinsamlaren körs bara när en viss del av minnet har använts.
Microsoft startade utvecklingen av .NET Framework i slutet av 1990-talet. Det gick då under namnet New Generation Windows Service (NGWS) och den första betan av .NET Framework 1.0 släpptes sent under 2000.[1]
.NET Framework 3.0, tidigare kallatWinFX, innehåller nyaAPI:er som finns utgör en del avWindows Vista ochWindows Server 2008. Det finns även tillgängligt förWindows XP SP2 och SP3 ochWindows Server 2003. Denna release innehåller inga större ändringar i arkitekturen utan utnyttjar CLR 2.0. Ingen ny version av.NET Compact Framework släpptes samtidigt som denna. Version 3.0 innehåller också Windows Communication Foundation, Window Presentation Foundation, Windows Workflow Foundation samt Windows Cardspace.
.NET Framework 3.0 består huvudsakligen av fyra nya komponenter:
Det finns ett flertal alternativa implementationer av CLI standarden. Här är en lista över några av dem.
.NET Core är en alternativ implementation av .NET utvecklad av Microsoft. Den är baserad på andra designprinciper än .NET Framework. Däribland för att köras på ett flertal plattformar. Projektet är open source och drivs under.NET Foundation. Microsoft har sagt att .NET Core kommer att ersätta .NET Framework 2020 under namnet .NET 5.[2]
.NET Framework är en standardiserad plattform för att köra .NET-program. .NET är ur utvecklingssynpunkt språkoberoende. Allt som krävs är att programmeraren har enkompilator som kan översätta källkoden till MSIL, Microsoft Intermediate Language. MSIL är bytekod (precis som "kompilerad"Java-kod) ochJIT-kompileras när programmet körs av .NET Framework. Detta förutsätter alltså att användaren av .NET-program har detta framework installerat på sin dator.
Common Language Infrastructure (CLI), är den standard (ECMA-335 ochISO/IEC 23271) som .NET Framework resulterat i. CLI beskriver bland annat hur program ska kunna köras i flera miljöer utan att behöva skrivas om. Standarden innehåller information om:
Kärnan i .NET Framework är Common Language Runtime,CLR, som används för att köra programmen. CLR hanterar bland annat kodsäkerhet, objekts livscykelhantering samt avlusning och profilering.
Common Type System,CTS, är den standardiserade del i .NET Framework som tillhandahåller olika typer som kan användas av alla språk (se nedan) i .NET för att göra program och komponenter språkoberoende.