Skip to content

MS_DotNetCore

nishi_74322014 edited this page Aug 21, 2026 · 2 revisions

.NET Core

概要

Target Platform Moniker (TPM) : netcoreapp 1.0 〜 3.0 の実装になる。

補足(最新化:名前が「.NET」になった): 本ページが扱う「.NET Core」は
3.1 までの呼称である。3.1 の次は .NET 5 となり、
以降は「.NET」に統一された(net5.0 / net8.0 / net10.0)。

世代 TPM 備考
.NET Core 1.0 〜 3.1 netcoreapp1.0netcoreapp3.1 本ページの範囲
.NET 5 以降 net5.0 「Core」が取れた。4 は飛ばした(.NET Framework 4.x との混同回避)

「.NET Core 4.0」は存在しない点に注意。

特徴

  • Windows・Linux・macOS をサポートするが、其々ランタイムは別物になる。

経緯

  • もともと、オープンソース化された .NET Framework のサブセットだった。

  • しかし、「.NET Core の普及に伴い、.NET Framework から .NET Core へ移行。」
    とはならなかったため、

    • .NET Standard の範囲を広げ、
      従来の .NET Framework の API をより多くサポート。
    • 既存の .NET Framework 向けのライブラリを .NET Core(など)で
      そのまま動作できるようにする。

    という並行サポートの対策が採られた。

  • このため、明確に述べられていないが、将来的に、並行サポートの状態から、
    .NET Framework が、メンテナンス・フェーズに突入する可能性は考えられる。

    • .NET Core 2.0 で、ASP.NET Core on .NET Core or .NET Framework が廃止された。
    • .NET Standard 2.1 以上で、.NET Core 3.0 以降のみの
      サポートに変更された。
    • .NET Core 3.0 以降で、Windows Desktop Packs
      Windows Forms/ WPF)が追加された。
  • .NET 5の登場により、予想的中となった。

補足: 「予想的中」の通り、.NET Framework 4.8.1 が最終版となり、
新機能の追加は行われていない(OS 同梱でサポートは継続)。
現在の新規開発は .NET(旧 .NET Core)系が既定である。

バージョン

リリース 状態
1.0 2016-06-27 サポート終了
1.1 2017-03-07 サポート終了
2.0 2017-08-17 サポート終了
2.1 2018-05-30 サポート終了(旧 LTS)
2.2 2018-12-04 サポート終了
3.0 2019-09-23 サポート終了
3.1 2019-12-03 サポート終了(2022-12。最後の「.NET Core」

補足(サポート ポリシー): .NET Core / .NET は
バージョンごとにサポート期限がある。.NET Framework のように
「OS と一緒に面倒を見てもらえる」わけではない。

種別 期間 対象
LTS(偶数) 3 年 .NET 6 / 8 / 10
STS(奇数) 18 か月 .NET 5 / 7 / 9

上記の .NET Core 1.x 〜 3.1 はすべてサポート終了済みであり、
セキュリティ修正も提供されない。稼働中のものがあれば移行対象になる。

.NET 5 へ。

開発~移行

開発 - デプロイ

移行

他の情報

過去の情報

紆余曲折

概要に至るまでの紆余曲折(Project K / KRE → XRE → DNX → .NET Core CLI)。

DNX

DNX : .NET Execution Environment

  • .NET アプリをクロスプラットフォームで実行するために必要な要素をまとめた環境

  • 前の呼称は KRE(K Runtime Environment)/ XRE(Cross-platform Runtime Environment)

  • 現在は、廃止されている。
    https://learn.microsoft.com/dotnet/core/migration/from-dnx

  • 特徴

    • サイドバイサイド実行(.NET Framework(Full CLR)/ .NET Core(Core CLR)+ CoreFX / Mono
    • OS の種類に関係なく、アプリを実行可能(Windows / macOS / Linux)
    • パッケージ(依存関係)管理による高いモジュール性(NuGet)
    • ソースコードから実行可能(Roslyn)
  • コマンド

    • dnvm(.NET Version Manager): DNX をインストールするための bash/PowerShell スクリプト
    • dnu: NuGet クライアント
    • dnx: 現在の DNX を使用して、アプリを実行する

project.json

補足(現在の csproj): project.json は廃止されたが、
.csproj 自体が大幅に簡素化された(SDK スタイル プロジェクト)ため、
実用上の不便はほぼ無い。

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
  </PropertyGroup>
</Project>
  • ソース ファイルを列挙しない(配下が自動で含まれる)
  • NuGet の参照は <PackageReference> の 1 行
  • packages.config / AssemblyInfo.cs が不要

参考

infoq.com

microsoft.com


Tags: 移行, .NET開発, .NET Core, .NET Standard

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally