Кіріспе

Ашық спецификация, NET framework, мұралық NET Framework және басқа да орындау орталықтарын анықтау үшін қолданылады. Common Language Infrastructure (CLI) – бастапқыда Microsoft әзірлеген және ISO/IEC (ISO/IEC 23271) және Ecma International (ECMA 335) ұйымдарымен стандартталған ашық спецификация және техникалық стандарт. Ол орындалатын кодты және түрлі компьютер платформаларында арнайы архитектураға қайта жазылмай, жоғары деңгейдегі бірнеше тілдерді қолдануға мүмкіндік беретін орындау ортасын сипаттайды. Бұл оның платформаға тәуелсіз екенін білдіреді. NET Framework, NET және Mono – CLI-нің іске асырылуы болып табылады. Метадеректер форматы Windows Runtime жүйесінде ашылатын API анықтамаларын көрсету үшін де қолданылады.

Стандарттау және лицензиялау

2000 жылдың тамызында Microsoft, Hewlett Packard, Intel және тағы да басқалар CLI стандартындау жөнінде жұмыс істеді. 2001 жылдың желтоқсанында ол Ecma ұйымы ратификациялады, ал 2003 жылдың сәуірінде ISO/IEC ұйымдары стандарттауды жүзеге асырды. Microsoft және оның серіктестері CLI патенттеріне ие. Ecma және ISO/IEC барлық патенттердің, іске асыру үшін қажеттілерінің, "әділ және кемсітпеуші (RAND) шарттармен" қолжетімді болуын талап етеді. RAND лицензиялау кезінде белгілі бір роялти төлемі талап етілуі мүмкін, бұл Mono үшін алаңдау тудыруы мүмкін. 2013 жылдың қаңтарына дейін Microsoft және оның серіктестері RAND шарттарына сәйкес CLI іске асыру үшін қажетті ешқандай патентті анықтаған жоқ. 2009 жылдың шілдесінен бастап Microsoft, C# және CLI тізімін Microsoft Community Promise қолданылатын спецификациялар тізіміне қосты, сондықтан кез келген адам Microsoft-тан патенттік сот процесінен қорқып, стандарттардың белгіленген нұсқаларын қауіпсіз түрде іске асыра алады. CLI стандартын іске асыру үшін стандарттың қолдау көрсетілетін және анықталған профильдерінің біріне сәйкес болу қажет, олардың ең төменгісі – ядролық профиль. Ядролық профиль, әдеттегі NET орнатуларының кең таралған негізгі кітапханасымен салыстырғанда, қолдау үшін типтердің өте шағын жиынтығын құрайды. Алайда, CLI сәйкестік шарты жаңа әдістер мен типтерді кластарға қосу арқылы, сондай-ақ жаңа кеңестік атаулардан туындату арқылы қолдау көрсетілетін профильді кеңейтуге мүмкіндік береді. Бірақ ол интерфейстерге жаңа мүшелерді қосуға рұқсат бермейді. Бұл CLI мүмкіндіктерін пайдалануға және кеңейтуге мүмкіндік береді, егер сәйкестік профилінің іске асырылуы осы профильде орындалуға арналған бағдарламаның мінез-құлқын өзгертпесе, сонымен қатар осы іске асыру үшін арнайы жазылған бағдарламалардың белгіленбеген мінез-құлқына жол береді. 2012 жылы Ecma және ISO/IEC CLI стандартының жаңа басылымын жариялады.

Қолданылу

.NET Framework – Microsoft-тың CLI-нің алғашқы коммерциялық нұсқасы. Ол тек Windows жүйесін қолдайды. 2020 жылдың қараша айында .NET оның орнына келді. .NET (бұрын .NET Core деп белгілі болған) – MIT лицензиясымен шығарылған, .NET Framework-тің көп платформалық, ашық бастапқы коды бар мұрагері. .NET Compact Framework – портативті құрылғылар мен Xbox 360 үшін Microsoft-тың CLI-нің коммерциялық нұсқасы. .NET Micro Framework – мүмкіндіктері шектеулі құрылғылар үшін CLI-нің ашық бастапқы коды. Mono – CLI және оған қоса жүретін технологиялардың балама ашық бастапқы коды, негізінен мобильді және ойын әзірлеу үшін қолданылады.