-
Notifications
You must be signed in to change notification settings - Fork 0
MS_DotNetCore
- 戻る(.NETのクロスプラットフォーム対応)
- .NET Core
- .NET Standard
- Mono
Target Platform Moniker (TPM) : netcoreapp 1.0 〜 3.0 の実装になる。
- ターゲット フレームワーク | Microsoft Learn
https://learn.microsoft.com/dotnet/standard/frameworks
補足(最新化:名前が「.NET」になった): 本ページが扱う「.NET Core」は
3.1 までの呼称である。3.1 の次は .NET 5 となり、
以降は「.NET」に統一された(net5.0/net8.0/net10.0)。
世代 TPM 備考 .NET Core 1.0 〜 3.1 netcoreapp1.0〜netcoreapp3.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 Standard の範囲を広げ、
-
このため、明確に述べられていないが、将来的に、並行サポートの状態から、
.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」) |
-
1.0
- ランタイム(=実行環境)は正式版
- ビルドツール(=開発ツール)まわりは商用環境での利用可能な Preview 版相当のリリース
- 2017 年 3 月 7 日の .NET Core Tools 1.0 のリリースで、
ビルドツールまわりも正式版をリリース
-
2.0
- ランタイムおよびフレームワークの性能が向上
- 6 つのプラットフォームを新たにサポート(Debian Stretch、
SUSE Linux Enterprise Server 12 SP2、macOS High Sierra ほか) -
.NET Standard 2.0 をサポート
https://devblogs.microsoft.com/dotnet/announcing-net-standard-2-0/
-
各版のドキュメント
- .NET Core の新機能 / 破壊的変更
https://learn.microsoft.com/dotnet/core/whats-new/ - ダウンロード
https://dotnet.microsoft.com/download/dotnet
- .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 Coreの開発)— 開発の方法。
- デプロイ(.NET Coreのデプロイ)
— プラットフォームに合わせてビルド・配置する方法。 - dotnetコマンド
- コンテナ化
- .NET CoreのDockerfile(
MS_DotNetCoreDockerfile.md) - コンテナ化前後の差異(.NET CoreのDockerコンテナ化)
- .NET CoreのDockerfile(
概要に至るまでの紆余曲折(Project K / KRE → XRE → DNX → .NET Core CLI)。
-
特集:ASP.NET 5を探る:
「最新.NET技術がよく分からない」と感じる人のための用語整理 - @IT
http://www.atmarkit.co.jp/ait/articles/1505/19/news016.html -
.NET Core と DNX は本当に未来なのか
https://www.slideshare.net/shibayan/net-core-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 を使用して、アプリを実行する
-
- NuGet パッケージとバージョンを示す JSON ファイル、
IntelliSense で NuGet パッケージを検索して追加できる。 -
現在は、廃止されている。
https://www.infoq.com/jp/news/2016/08/project-json - DNX でサポートされていた形式なので、移行する場合は
*.csprojに変換する必要がある。- .NET Core の csproj 形式への移行
https://learn.microsoft.com/dotnet/core/migration/ - project.json と csproj の比較
https://learn.microsoft.com/dotnet/core/tools/project-json-to-csproj
- .NET Core の csproj 形式への移行
補足(現在の csproj):
project.jsonは廃止されたが、
.csproj自体が大幅に簡素化された(SDK スタイル プロジェクト)ため、
実用上の不便はほぼ無い。<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net8.0</TargetFramework> </PropertyGroup> </Project>
- ソース ファイルを列挙しない(配下が自動で含まれる)
- NuGet の参照は
<PackageReference>の 1 行packages.config/AssemblyInfo.csが不要
- さいきんの.NETのこととかNuGetとかCoreとかよく分からないよねーって話 - Qiita
http://qiita.com/acple@github/items/e80bef939583fc2b0e5e
- ASP.NET Coreが.NET Frameworkサポートを終了
https://www.infoq.com/jp/news/2017/06/ASPNET-Core-2 - .NET Coreと.NET Standard: 違いは何か?
https://www.infoq.com/jp/news/2017/10/dotnet-core-standard-difference - .NET Core 2がリリース、.NET Standard 2.0をサポート
https://www.infoq.com/jp/news/2017/08/netcore2-sdk - .NET Core 3.0 の概観:C# 8、WPF、Windows Formなど
https://www.infoq.com/jp/news/2019/01/dotnet-core-3-preview
- .NET のダウンロード
https://dotnet.microsoft.com/download - .NET と .NET Framework のどちらを選択するか
https://learn.microsoft.com/dotnet/standard/choosing-core-framework-server
Tags: 移行, .NET開発, .NET Core, .NET Standard
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。