.NET bestaat uit een groot aantal klassen die de ontwikkelaar kan gebruiken bij het maken van programma's, alsmede enkele compilers die broncode omzetten naar een tussenlaag (MSIL). De MSIL-code wordt door de Common Language Runtime (CLR) omgezet naar machine-code en uitgevoerd.
De .NET-technologie is duidelijk geïnspireerd door Java. Omdat Java ontwikkeld is door rivaal Sun Microsystems besloot Microsoft een eigen standaard te ontwikkelen. Dit heeft geresulteerd in het .NET-framework. Net als bij Java worden programma's bij .NET niet gecompileerd tot machinecode maar tot een tussentaal (CIL). Deze wordt dan vervolgens uitgevoerd door een runtime engine (VES). In tegenstelling tot Java is de toepasbaarheid van .NET tot voor kort beperkt gebleven tot besturingssystemen waarvan de naam met Windows begint. Er zijn echter ook enkele open source-implementaties van .NET, waarbij de meestgebruikte momenteel Mono is.
Het .NET-framework wordt "uit de doos" ondersteund vanaf Windows XP en Windows 2003 Server, maar is ook beschikbaar voor oudere versies van Windows. Tevens zijn er diverse implementaties van de ECMS-standaarden te downloaden, sommige inclusief broncode.