.NET CoreとASP.NET Coreの違いは何ですか?
それらは相互に排他的ですか?私は、asp.netコアが.netコア上に構築されていると聞きましたが、完全な.netフレームワーク上に構築することもできます。
では、ASP.NET Coreとは一体何なのでしょうか。
.NET Coreはランタイムです。それ用に構築されたアプリケーションを実行できます。
ASP.NET Coreは、Webアプリケーションを構築するためのフレームワークを形成するライブラリの集まりです。 ASP.NET Coreライブラリは、.NET Coreと "Full .NET Framework"(何年もの間Windowsに同梱されているもの)の両方で使用できます。
分かりにくいのは、ASP.NET Coreのライブラリとツールを使用するアプリケーションは通常「ASP.NET Core Application」と呼ばれることです。したがって、 "ASP.NET Core Application"はalso".NET Core Application"または ".NET Framework Application"です。
この画像は関連する技術の関係を示しています( このブログ記事 ) から取られています
ここでは、ASP.NET Coreが.NET Frameworkと.NET Coreの両方の上に構築されているのに対し、 "ASP.NET"(現在は "クラシックASP.NET"と呼ばれることが多い)は.NET Frameworkのみであることがわかります。
ASP.NET CORE.NET Coreを使用 - すべての依存関係は自己完結型で、ほとんどのnugetパッケージを使用できますが、windowsは使用できません。特定のパッケージ、Windows、Linux、Mac上で実行可能
ASP.NET CORE.NET Frameworkを使用 - ほとんどの依存関係は自己完結型で、Windows上でのみ実行されます。 Windows固有のnugetパッケージは、マシンにインストールされているターゲットとなる.netフレームワークのバージョンが必要です。
ASP.NET Coreは.Net Coreでサポートされているワークロードの1つです https://docs.Microsoft.com/ja-jp/dotnet/articles/core/#workloads
.NET Core自体には、ツール、ローカルサービス、およびテキストベースのゲームに役立つ単一のアプリケーションモデル(コンソールアプリケーション)が含まれています。次のような機能を拡張するために、.NET Coreの上に追加のアプリケーションモデルが構築されています。
- ASP.NETコア
- Windows 10ユニバーサルWindowsプラットフォーム(UWP)
- Xamarin.Forms
.NET Coreは、Windows、Linux、およびmacOSオペレーティングシステム用の無料のオープンソース管理コンピュータソフトウェアフレームワークです。
ASP.NET Coreは.NET Coreまたは.NET Frameworkをターゲットにできます。 .NET FrameworkをターゲットにしたASP.NET Coreアプリケーションはクロスプラットフォームではなく、Windows上でのみ動作します。一般に、ASP.NET Coreは.NET Standardライブラリで構成されています。 .NET Standard 2.0で作成されたライブラリは、.NET Standard 2.0を実装するすべての.NETプラットフォームで動作します。
最近の情報.NET Frameworkはそれの最後のリリースです。 4.8の後に別のものはありません。マイクロソフトは.NET Coreを継続します。この時点からあなたはあなたのプロジェクトで.NET Coreを好むはずです。