Microsoft .NET Framework
Microsoft .NET Framework е платформа, създадена от Microsoft, която предоставя програмен модел, библиотека от класове (FCL, Framework Class Library) и среда за изпълнение на написан специално за нея програмен код (CLR, Common Language Runtime). Тя е ключов елемент от стратегията за развитие на Microsoft, чиято цел е повечето нови приложения за Windows да бъдат базирани на .NET Framework.

.NET приложенията се пишат на езици от високо ниво (C#, VB.NET, C++/CLI и други) и се компилират до платформено-независим междинен език, наречен CIL (Common Intermediate Language). По време на изпълнение CIL кодът (т. нар. „управляван код“) бива автоматично компилиран от CLR за конкретната хардуерна платформа и операционна система, с която работи потребителят.

.NET Framework се разпространява с Windows Server 2003, Windows Server 2008, Windows Vista и Windows 7 като може да бъде инсталиран и на по-стари версии на Windows. Целта на проекта Mono, спонсориран от Novell, е да даде възможност програми, написани на .NET Framework, да работят и на други операционни системи, като Linux, Solaris, Mac OS, BSD и др.

Компоненти на .NET Framework 
.NET Framework включва два основни компонента:

 Common Language Runtime (CLR) – програмната среда, в която се изпълнява кодът на .NET приложенията. Представлява виртуална машина, която компилира междинния код CIL (Common Intermediate Language) за конкретната хардуерна платформа и операционна система, с която работи потребителят. В допълнение средата осигурява редица услуги, като управление на паметта, вкл. автоматична система за почистване на паметта, управление на прекъсванията, многонишковост ('multithreading') и други.
 Framework Class Library (FCL) – това е пълната колекция от класове, които .NET Framework предлага. Частта от FCL, известна като BCL (Base Class Library, 'стандартна библиотека от класове'), е разработената от Microsoft имплементация на стандарта ECMA-335, Common Language Infrastructure. BCL осигурява голям набор базови функционалности, които програмистите могат да използват директно, например за мрежова комуникация, криптографски услуги и други. В допълнение FCL предлага компоненти за изграждане на потребителския интерфейс (Windows.Forms и ASP.NET), уеб приложения и уеб услуги, достъп до бази данни и др.

Основни принципи и цели 
В основата на философията на .NET Framework са залегнали следните основни цели и идеи:
 Платформена независимост – Една от основните цели на .NET Framework е да даде възможност за създаването на платформено независими приложения, т.е. на приложения, които могат да работят на различни операционни системи и хардуерни конфигурации. Microsoft са създали имплементации на .NET Framework, които работят на x86 и x64 персонални компютри, Windows CE базирани устройства (PDA, SmartPhone, Tablet PC), както и игровата конзола XBox 360. Спецификациите на CLI (Common Language Infrastructure, което обхваща BCL, CTS и CIL), както и езиците C# и C++/CLI са предадени на ECMA и ISO и са отворени стандарти. По този начин независими разработчици могат да поставят .NET Framework и прилежащите му езици на други софтуерни и хардуерни платформи.
 Съвместимост с вече съществуващите технологии – .NET Framework дава възможност за достъп до функционалност, реализирана в приложения извън .NET средата. Пространствата System.Runtime.InteropServices и System.EnterpriseServices дават възможност за достъп до COM компоненти, докато с P/Invoke може да се извиква неуправляван код (native code).
 Common Runtime Engine – Програмните езици, които се поддържат от .NET Framework биват компилирани в междинен код известен като CIL (Common Intermediate Language) а по-рано и като MSIL (Microsoft Intermediate Language). При изпълнението си този междинен код не бива интерпретиран като при други виртуални машини, а вместо това компилиран по начин, известен като JIT (Just In Time) компилация в платформено-зависим машинен код (native code).
 Езикова независимост – Приложения за .NET Framework могат да бъдат създавани на няколко съвместими програмни езици, сред които C#, VB.NET и C++/CLI. Това е възможно благодарение на съвместимостта на типовете данни, които отделните езици поддържат. CTS (Common Type System) дефинира всички базови типове данни, както и начинът, по който те могат да бъдат конвертирани един в друг. Тези типове са споделени между всички .NET езици и са стандартизирани в CLI.
 Улеснена инсталация – Програмите, създадени на .NET Framework, както и техните компоненти, могат да бъдат инсталирани с просто копиране в желаната директория – процес, известен като XCopy Deployment.
 Сигурност – Програмният код, написан на .NET, се нарича управляван код, а също и защитен код, тъй като е изолиран от хардуерната среда, в която оперира, и това го предпазва от някои видове програмни грешки, които правят кода уязвим за атаки, например препълването на буфера (buffer overflow). Също така .NET Framework предлага система за сигурност, която може да се използва от всички .NET приложения.

Версии 
Microsoft стартира разработката на .NET Framework в края на 90-те години, първоначално под името Next Generation Windows Services (NGWS). В края на 2000 г. е публикувана първата бета версия на .NET 1.0.

.NET Framework 1.1 
Публикуван на 3 април 2003 г., това е първият сериозен ъпгрейд на .NET Framework. Може да бъде изтеглен като самостоятелен пакет или инсталиран с втората версия на Visual Studio .NET, Visual Studio .NET 2003. Това е и първата версия на .NET Framework, вградена директно в Windows операционна система (Windows Server 2003).

Промени спрямо версия 1.0 
 Вградена поддръжка на мобилни ASP.NET контроли.
 Подобрена сигурност, Code Access Security в ASP.NET приложенията.
 Вградена поддръжка на ODBC и клиент за Oracle бази данни.
 .NET Compact Framework – версия на .NET Framework за устройства с ограничени възможности.
 Поддръжка на Internet Protocol version 6 (IPv6)
 Многобройни подобрения по базовите класове

.NET Framework 2.0 
Публикувана на 22 януари 2006, вградена във Visual Studio .NET 2005, Microsoft SQL Server 2005 и BizTalk 2006, както и в операционната система Windows Server 2003 R2.

Достъпна за изтегляне от сайта на Microsoft, откъдето може да се свали и нейния SDK.

Следва да се отбележи, че версия 2.0 е последната, която поддържа Windows 2000.

Промени спрямо версия 1.1 
 Множество подобрения по базовите класове
 Поддръжка на 64-битови хардуерни платформи (x64 и IA64)
 Generics
 Много нови и подобрени ASP.NET контроли
 Declarative data binding
 Нови възможности за персонализация на ASP.NET страниците: теми (themes), скинове (skins) и webparts.
 .NET Micro Framework – версия на .NET Framework свързана с инициативата Smart Personal Objects Technology.

.NET Framework 3.0 
.NET Framework 3.0, известен първоначално като WinFX, включва набор нови възможности и библиотеки, които са в основата на новите операционни системи Windows Vista и Windows Server 2008. .NET Framework 3.0 е достъпен и за операционните системи Windows XP SP2 and Windows Server 2003. В новата версия липсват сериозни архитектурни нововъведения: използва се CLR на .NET Framework 2.0. За версия 3.0 няма еквивалентна версия на .NET Compact Framework.

.NET Framework 3.0 се състои от 4 основни нови компонента:
 Windows Presentation Foundation (WPF), известен по-рано като Avalon – нова система за графичен интерфейс и API базиран на XML и векторни графики, която използва възможностите на 3D графичните карти и Direct3D технологии. Множество статии и пълна документация на WPF са налични в WPF SDK.
 Windows Communication Foundation (WCF), известен по-рано като Indigo – сервизно-ориентирана система за съобщения (service-oriented messaging system), която позволява на приложенията да комуникират локално или отдалечено подобно на уеб услуги.
 Windows Workflow Foundation (WF) – Необходимо е описание на WF.
 Windows CardSpace, известен по-рано като InfoCard осигурява надеждното съхранение на „дигитални самоличности“ (digital identities) и предлага унифициран интерфейс за избор на подходящата самоличност за извършването на определена задача, напр. влизане в даден уеб сайт.

.NET Framework 3.5 
Версия 3.5 на .NET Framework използва същия CLR като версии 2.0 и 3.0. Тя автоматично инсталира .NET Framework 2.0 SP1, с което добавя някои нови функции в базовите класове на версия 2.0, необходими за работата на някои от новите компоненти, най-вече LINQ. Налице е пълна обратна съвместимост с версия 2.0, така че програмите, писани за версия 2.0 ще работят безпроблемно на версия 3.5. Пълна поддръжка на .NET Framework 3.5 е осигурена във Visual Studio 2008.

Пълният сорс код на BCL ще бъде публикуван от Microsoft под лиценз Microsoft Reference License.

Скоро ще бъде публикувана .NET Compact Framework 3.5, която ще направи достъпни LINQ и другите нововъведения в .NET Framework 3.5 за мобилни устройства.

Промени спрямо версия 3.0 
 Нови версии на най-популярните .NET езици – C# 3.0 и VB.NET 9.0
 Ламбда изрази
 Разширяващи методи (extension methods)
 Анонимни типове
 LINQ (Language Integrated Query), включително компонентите:
 LINQ to Objects
 LINQ to XML
 LINQ to SQL
 ADO.NET paging
 Методи за синхронизация на ADO.NET локални кешове със сървърни източници на данни
 Асинхронно мрежово I/O API
 Обвивки на интерфейсите на WMI и Active Directory
 Подобрения по WCF and WF, които дават възможност на WCF да работи с POX и JSON, както и да представя WF workflows като WCF услуги.
 Поддръжка на HTTP pipelining и syndication feeds
 Вградена поддръжка на AJAX

.NET Framework 4.0 
Версия 4.0 се разпространява заедно с Visual Studio 2010. Версията на CLR е сменена на 4.0

Промени спрямо версия 3.5 
 Parallel Extensions – вградена поддръжка на изпълнение на паралелни изчисления върху многоядрени процесори.
 dynamic ключова дума (при обръщения към COM обекти)
 Наименования и незадължителни параметри.
 Нови типове за работа с цели числа с произволна точност (System.Numerics.BigInteger) и комплексни числа (System.Numerics.Complex).

Бележки 

Microsoft Windows
Инструменти за програмиране
Свободен софтуер от 2002 година