トップQs
タイムライン
チャット
視点

.NET

.NET Foundationが開発したソフトウェアフレームワーク ウィキペディアから

.NET
Remove ads

.NET(ドットネット、旧称 .NET Core)は、.NETを実装したFOSSのクロスプラットフォームマネージソフトウェアフレームワークである[4]。.NET 5以降は、.NET FrameworkおよびXamarin/Monoの機能が統合され、それらの後継にもなっている。[5]

概要 開発元, 最新版 ...
Remove ads

.NETの実装には.NET FrameworkXamarin/Monoが存在する[6].NET Coreはクロスプラットフォームを特徴としてMicrosoftが開発を主導している.NET実装の1つである[6]WindowsLinuxmacOS等に対応している[7]。.NET Coreの基盤上では以下のタイプ(シナリオ)のアプリケーションを開発できる。

.NET Coreはモジュラーでもあるため、開発者は.NET CoreをアセンブリではなくNuGetパッケージにしてもよい。.NET FrameworkはWindows Updateにより更新されるが、.NET Coreの更新はそのパッケージマネージャに依存する[8][9]

Remove ads

機能

.NET Coreはフレームワークとして、実行環境のような下位レイヤーからUIフレームワークのような上位レイヤーまで様々な機能を提供する。以下は機能の例である。

  • プログラム実行環境(CoreCLRによるマネージコード実行環境)
  • ポータブル実行ファイル(各言語から共通中間言語へのコンパイルが可能にする持ち運べる実行ファイル)
  • 型/クラスライブラリ(標準ライブラリ = 言語仕様以上の型/クラス提供 by CoreCLR & CoreFX)

対応言語

.NET では以下の3つの言語を公式的にサポートしている[10]

実装

.NETは共通言語基盤 (CLI) の元となっている仕様であり、.NET CoreはCLIの実装になっている[11]

.NET CoreのランタイムはCoreCLRである[12]。CoreCLRはガベージコレクタJITコンパイラ(RyuJIT)、プリミティブな型/クラスライブラリからなっている[13][14][注釈 1][注釈 2][15]。またランタイムに必要な型/クラスライブラリに追加して、フレームワークとして規定する型群としてCoreFXが.NET Coreには含まれる[16]。CoreFXはFramework Class Library英語版の一部をフォークしたものである[17]

.NET Coreと.NET FrameworkAPIを一部共有しているが、.NET Coreには.NET Frameworkに存在しない固有のAPIが搭載されている[8]。.NET Coreライブラリの派生物はUWP用に利用されている[18]。.NET Coreのコマンドラインインタフェースは、オペレーティングシステムには実行エントリポイントを、開発者にはコンパイルやパッケージ管理などのサービスを提供する[19]

ランタイム

.NETは複数のランタイムを利用できる。以下は .NET 7 における対応ランタイムである[20][21]

これらは目的に応じて使い分けられる。例えば iOS はAOTコンパイル前提でありMonoランタイムが利用される。

Windows系UI専用ライブラリ

もともと.NET Coreはクロスプラットフォームを前提とするフレームワークであり、.NET Core 3よりも前のバージョンでは、Windowsのデスクトップソフトウェア用の標準GUIを提供するためのWindows FormsWPFが実装されていなかった[8][9]。2018年にマイクロソフトは、デスクトップ技術であるWindows Forms、WPF、UWPを.NET Core 3からサポートすることを公表した[23]。.NET Core 3.0では、Windows版に限りWindows FormsおよびWPFのサポートが提供されるようになった[24]

Remove ads

バージョン

さらに見る バージョン, リリース日 ...

サポート期限

長期サポート版(LTS)はJavaと同じく2年ごとにリリースされているが、Javaのプレミア・サポートが5年、延長サポートがその次の3年[34]と比べて、.NETは3年[25]と短く、長期サポート版を使い続けるには、長期サポート版がリリースされる度に1年以内に乗り換えないといけない。UbuntuRed Hat Enterprise Linuxも.NETの長期サポート版の独自サポートを行っていて[35]、Red Hat Enterprise Linuxのサポート期限は同じく3年だが[36]、Ubuntuは長期サポート版OSのサポート期限(最長12年)までサポートを行う[37]

脚注

Loading content...

外部リンク

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads