.NET

**.NET** eller **.NET Framework** er en samling teknologier rundt programvareutvikling fra Microsoft som først ble introdusert i 2002. Siden har plattformen fått fotfeste og er i dag en av de mest brukte utviklingsplattformene i verden. Microsoft benytter et mellomlag mellom applikasjon og operativsystem, ikke ulikt det som er brukt i Java-basert utvikling og er et rammeverk for applikasjoner.

## Historie
Uoffisielt startet utviklingen av .NET Framework i 1999. Den offisielle kunngjøringen om utviklingen av ny teknologi fant sted på Microsofts pressekonferanse 13. januar 2000. Den første versjonen av Microsoft .NET Framework ble offisielt utgitt 13. februar 2002. Siden utgivelsen av den første .NET Framework-versjonen har ni flere oppgraderinger funnet sted. Den endelige versjonen av .NET Framework var 4.8.

.NET Core er et rammeverk på tvers av plattformer med åpen kildekode (Windows, Mac, Linux) som kan defineres som en etterfølger til .NET Framework. Det er en moderne analog av .NET Framework. Microsoft annonserte utviklingen av .NET Core 12. november 2014. .NET Core hadde en offisiell utgivelse 27. juni 2016. Microsoft oppdaterte .NET Core og ga ut sine nye versjoner til 3.1. I november 2020 ble imidlertid den nyeste versjonen av .NET Core sendt som .NET 5. «Core» ble fjernet fra navnet og versjon 4.0 ble hoppet over for å unngå forvirring med .NET Framework.

.NET 8 er den nyeste LTS-oppgraderingen av .NET-plattformen. Den nyeste standard versjonen er .NET 9, som ble lansert i november 2024.

## Utviklingsmiljø
Et program kompileres til et felles mellomformat som kalles Microsoft Intermediate Language (MSIL, eller bare IL). I dette formatet er klasser og typer i henhold til Common Type System (CTS), som er en del av Common Language Specification (CLS). Ved kjøring blir dette mellomformatet kompilert just-in-time, til det formatet prosessoren kan håndtere.

Slike program kan kjøres i en virtuell maskin, benevnt Common Language Runtime (CLR). Under kjøringen besørger CLR blant annet sikkerhet, trådstyring og søppeltømming (*garbage collection*, makulering av foreldet stoff). Et *assembly* er det minste enkeltprogram som vil kunne distribueres. CLR vil under kjøringen sikre mot ulovlig interaksjon mellom slike assemblies, som ikke nødvendigvis har samme opprinnelse.

## Programmeringsspråk
Høynivåprogrammeringsspråk som lager IL-kode må være i henhold til CLS, og derunder, CTS. I 2005-versjonen finner vi Visual Basic, C#, C++ og J#. Denne infrastrukturen er sammenfattet i Common Language Infrastructure (CLI), som er basert på standarden ECMA 335.

Klassene i .NET er basert på Basic Class Library (BCL), der standardklassene ligger. Databaselaget ADO.NET lager et felles grensesnitt mellom .NET og det man har av lokale lager (ODBC, OLE DB, eller spesielle databaser). Vevlaget ASP.NET brukes for presentasjonslaget i vevapplikasjoner, der de såkalte vevkontrollene kan limes inn.
Vevtjenester lar prosesser utveksle data via den åpne W3C-standarden WSDL, herunder SOAP for administrering av selve dialogen (ordstyre), og XML for selve språkbruken (formatet). CLR vil også sikre gjenbruk av eldre programvare, formatert som Component Object Model (COM) eller lignende, ved å koble det til kjøringen i den grad det etterspørres.

## Versjonshistorie
.NET gjennomgikk en revisjon samt utvidelse fra den opprinnelige 1.0 og 1.1, og var i november 2005 å finne i versjon 2.0. Programmerering av .NET-basert programvare skjer hovedsakelig med programvaren Visual Studio fra Microsoft. Det er gjort forsøk på å lage et kjøremiljø (CLR) for Linux, Mono.

## Referanser


## Eksterne lenker
* 
* 
*  Microsoft .NET Framework Developer Center