(Translated by https://www.hiragana.jp/)
.NET - Wikipedia コンテンツにスキップ

.NET

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』
.NET
開発元かいはつもと .NET Foundation
最新さいしんばん
8.0.5 / 2024ねん5がつ14にち (46にちまえ) (2024-05-14)[1]
リポジトリ ウィキデータを編集
プログラミング
言語げんご
C++およびC#
対応たいおうOS Windows 10以降いこう, Windows Server 2012以降いこう, Linux, macOS 12以降いこう, Android 5以降いこう, iOS 12以降いこう, tvOS, watchOS[2]
プラットフォーム x86, x64, Arm32, Arm64
前身ぜんしん .NET Framework, Xamarin, Mono
ライセンス MIT License[3]
公式こうしきサイト dotnet.microsoft.com ウィキデータを編集
テンプレートを表示ひょうじ

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

.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]

機能きのう[編集へんしゅう]

.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]

  • CoreCLR
  • Monoランタイム: .NET規格きかく実装じっそうの1つであるMono由来ゆらいするランタイム。
  • NativeAOT: AOTコンパイルとくしたランタイム[22]開発かいはつ段階だんかいではCoreRTとばれ .NET 7 より正式せいしき導入どうにゅうされた[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]

バージョン[編集へんしゅう]

.NET バージョン[25]
バージョン リリース 長期ちょうき
サポート
変更へんこう内容ないよう
.NET Core 1.0 2016-06-27[26]
.NET Core 1.1 2017-03-07[27]
.NET Core 2.0 2017-08-14
.NET Core 2.1 2018-05-30
.NET Core 2.2 2018-12-04
.NET Core 3.0 2019-09-23[28] Build 2018英語えいごばん発表はっぴょう。デスクトップ・人工じんこう知能ちのう/機械きかい学習がくしゅうIoTアプリケーションの開発かいはつをサポートした。
.NET Core 3.1 2019-12-03 Yes
.NET 5 2020-11-10[29] 名前なまえから"Core"がはずれた[30]。.NET Core 4はスキップされ、.NET 5になった。これは.NET 5が.NET Framework 4.8の後継こうけいでもあることから、.NET Framework 4.xとの混同こんどうふせ目的もくてきふくんでいる[31]
.NET 6 2021-11-08[32] Yes
.NET 7 2022-11-08 Windows 8以前いぜんがサポート対象たいしょうがいとなった。[33]
.NET 8 2023-11-14 Yes

サポート期限きげん[編集へんしゅう]

長期ちょうきサポートばん(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]

脚注きゃくちゅう[編集へんしゅう]

注釈ちゅうしゃく[編集へんしゅう]

  1. ^ RyuJITはもともと.NET Framework 4.6にて、あたらしい64ビットはんのJITコンパイラとして導入どうにゅうされた。
  2. ^ 接頭せっとうである "Ryu" は日本語にほんごの「りゅう」であるが、これはThe Dragon Book英語えいごばん由来ゆらいする。

出典しゅってん[編集へんしゅう]

  1. ^ Releases · dotnet/core”. 2024ねん5がつ17にち閲覧えつらん
  2. ^ core/release-notes/8.0/supported-os.md at main · dotnet/core”. 2024ねん5がつ17にち閲覧えつらん
  3. ^ core/LICENSE.TXT”. GitHub. 2018ねん6がつ4にち閲覧えつらん
  4. ^ What is .NET? An open-source developer platform.”. 2019ねん9がつ24にち閲覧えつらん。 “.NET Core is a cross-platform .NET implementation for websites, servers, and console apps on Windows, Linux, and macOS.”
  5. ^ さい統合とうごうされた .NET:.NET 5 にかんする Microsoft の計画けいかく”. Microsoft Docs. 2021ねん10がつ18にち閲覧えつらん
  6. ^ a b What is .NET? An open-source developer platform.”. 2019ねん9がつ24にち閲覧えつらん
  7. ^ .NET の概要がいよう”. microsoft.com. マイクロソフト. 2021ねん3がつ8にち閲覧えつらん
  8. ^ a b c Carter, Phillip; Knezevic, Zlatko (April 2016). “.NET Core - .NET Goes Cross-Platform with .NET Core”. MSDN マガジン (マイクロソフト) 13 (4). https://msdn.microsoft.com/magazine/mt694084 2018ねん8がつ27にち閲覧えつらん. 
  9. ^ a b .NET 2015 Overview”. Channel 9英語えいごばん. マイクロソフト (2015ねん11月18にち). 2018ねん8がつ27にち閲覧えつらん
  10. ^ .NET マネージド言語げんご戦略せんりゃく - .NET”. Microsoft Learn. 2024ねん3がつ18にち閲覧えつらん
  11. ^ README.md coreclr”. GitHub. 2019ねん9がつ24にち閲覧えつらん。 “.NET Core is a self-contained .NET runtime and framework that implements ECMA 335.”
  12. ^ dotnet/coreclr: CoreCLR is the runtime for .NET Core. It includes the garbage collector, JIT compiler, primitive data types and low-level classes.”. GitHub. 2019ねん9がつ24にち閲覧えつらん。 “CoreCLR is the runtime for .NET Core.”
  13. ^ dotnet/coreclr: CoreCLR is the runtime for .NET Core. It includes the garbage collector, JIT compiler, primitive data types and low-level classes.”. GitHub. 2019ねん9がつ24にち閲覧えつらん。 “It includes the garbage collector, JIT compiler, primitive data types and low-level classes.”
  14. ^ CoreCLR is now Open Source”. .NET Framework Blog. マイクロソフト (2015ねん2がつ3にち). 2015ねん2がつ27にち閲覧えつらん
  15. ^ Why RyuJIT? How was the name chosen?”. nuWave eSolutions Development Team Blog. 2016ねん6がつ21にち閲覧えつらん[出典しゅってん無効むこう]
  16. ^ dotnet/coreclr: CoreCLR is the runtime for .NET Core. It includes the garbage collector, JIT compiler, primitive data types and low-level classes.”. GitHub. 2019ねん9がつ24にち閲覧えつらん。 “Many of the most familiar classes (System.Collections, System.IO, System.Xml and so on), live in packages defined in the dotnet/corefx repository.”
  17. ^ Introducing .NET Core”. .NET Blog. マイクロソフト (2014ねん12月4にち). 2015ねん2がつ27にち閲覧えつらん
  18. ^ Intro to .NET Native and CoreRT”. GitHub (2016ねん4がつ23にち). 2018ねん8がつ27にち閲覧えつらん
  19. ^ Intro to CLI”. GitHub (2016ねん4がつ23にち). 2018ねん8がつ27にち閲覧えつらん
  20. ^ "Mono is one of the two runtimes that are supported by the .NET 6 project. CoreCLR is the other." danmoseley. (2021). Discussions#50150. dotnet/runtime. 2022-12-18閲覧えつらん.
  21. ^ a b "the Native AOT support now shipping in .NET 7." Douglas, et al. (2022). .NET 7 is Available Today. .NET Blog.
  22. ^ "NativeAOT - .NET runtime optimized for ahead of time compilation." dotnet/runtimelab. 2022-12-18閲覧えつらん.
  23. ^ .NET Core 3 and Support for Windows Desktop Applications”. MSDNブログ. マイクロソフト (2018ねん5がつ7にち). 2018ねん8がつ27にち閲覧えつらん
  24. ^ Windows Forms アプリを .NET Core 3.0 に移植いしょくする - .NET Core”. Microsoft Docs. 2019ねん9がつ24にち閲覧えつらん。 “Windows Forms は、まだ Windows 専用せんようのフレームワークであるため、Windows じょうでのみ実行じっこうされます。”
  25. ^ a b .NET および .NET Core オフィシャル サポート ポリシー”. Microsoft. 2024ねん5がつ17にち閲覧えつらん
  26. ^ core/1.0.0.md at master · dotnet/core”. GitHub. 2020ねん5がつ26にち閲覧えつらん
  27. ^ Announcing .NET Core Tools 1.0”. 2017ねん3がつ29にち閲覧えつらん
  28. ^ Announcing .NET Core 3.0”. .NET Blog. 2019ねん9がつ24にち閲覧えつらん
  29. ^ Announcing .NET 5.0”. .NET Blog. 2020ねん11月11にち閲覧えつらん
  30. ^ Introducing .NET 5”. .NET Blog. 2019ねん5がつ7にち閲覧えつらん。 “.NET 5 = .NET Core vNext
    .NET 5 is the next step forward with .NET Core.”
  31. ^ Introducing .NET 5”. .NET Blog. 2019ねん9がつ19にち閲覧えつらん。 “We’re skipping the version 4 because it would confuse users that are familiar with the .NET Framework, which has been using the 4.x series for a long time.”
  32. ^ core/roadmap.md at master · dotnet/core”. GitHub. 2019ねん12月4にち閲覧えつらん
  33. ^ core/release-notes/7.0/supported-os.md at main · dotnet/core”. 2024ねん5がつ17にち閲覧えつらん
  34. ^ Oracle Java SE Supportロードマップ | Oracle 日本にっぽん”. oracle.com. 2024ねん5がつ17にち閲覧えつらん
  35. ^ core/support.md at main · dotnet/core”. 2024ねん5がつ17にち閲覧えつらん
  36. ^ Life Cycle and Support Policies for the .NET Program - Red Hat Customer Portal”. Red Hat Customer Portal. 2024ねん5がつ17にち閲覧えつらん
  37. ^ adegeo. “.NET and Ubuntu overview - .NET”. learn.microsoft.com. 2024ねん5がつ17にち閲覧えつらん

外部がいぶリンク[編集へんしゅう]