回答:
Update 2020:ASP.NET Core 3以降は.NET Coreに依存するようになり、.NET Frameworkでは使用できなくなったことに注意してください。以下の説明はASP.NET Core 1.x-2.xに関するものです。レイヤー分離はASP.NET Core 3.0にも当てはまりますが、ASP.NET Coreレイヤーは3.0以降の.NET Frameworkの上で使用できなくなりました。
.NET Coreはランタイムです。それのために構築されたアプリケーションを実行できます。
ASP.NET Coreは、Webアプリケーションを構築するためのフレームワークを形成するライブラリのコレクションです。ASP.NET Coreライブラリは、.NET Coreと「フル.NET Framework」(長年Windowsに同梱されています)の両方で使用できます。
紛らわしいのは、ASP.NET Coreのライブラリとツールを使用するアプリケーションは通常「ASP.NET Core Application」と呼ばれ、.NET Core用か.NET Framework用に構築されたものかは理論的には言及されていないことです。だから、「ASP.NETアプリケーションのコア」であるにも「.NETアプリケーションのコア」または「.NET Frameworkのアプリケーション」。
この画像は、関連するテクノロジーの関係を示しています(このブログ投稿から取得)
ここでは、ASP.NET Coreが.NET Frameworkと.NET Coreの両方の「上に」構築されているのに対し、「ASP.NET」(現在は「クラシックASP.NET」と呼ばれることも多い)は.NET Frameworkのみであることがわかります。
ASP.NET Core
して開発した場合、Webサーバーにインストールする必要がありますか.NET Core Runtime
、ASP.NET Core runtime
それともそれASP.NET Core runtime
で十分です
.NET Core を使用する ASP.NET Core-すべての依存関係は自己完結型であり、ほとんどのNuGetパッケージを使用でき、Windows固有のパッケージを使用できず、Windows、Linux、Macで実行できます。
.NET Frameworkを使用する ASP.NET Core-ほとんどの依存関係は自己完結型で、Windowsでのみ実行され、Windows固有のNuGetパッケージにアクセスできます。対象のマシンにインストールされている.NET Frameworkバージョンが必要です。
ASP.NET Coreは、.NET Coreがサポートするワークロードの1つです。
.NET Coreガイドから:
.NET Core自体には、ツール、ローカルサービス、テキストベースのゲームに役立つ単一のアプリケーションモデル(コンソールアプリ)が含まれています。次のような機能を拡張するために、.NET Core上に追加のアプリケーションモデルが構築されています。
- ASP.NET Core
- Windows 10ユニバーサルWindowsプラットフォーム(UWP)
- Xamarin.Forms
その上で、誰かを助けるかもしれないことを付け加えたいと思います。
.NET Coreリクエストパイプラインには、ミドルウェアインジェクションと呼ばれるものがあります。正しく実装されていれば、これは非常に便利です。アプリケーションの例外を自動的にインターセプトし、すべてのメソッドにログインするのではなく、1か所でのロギングをはるかに簡単にできるからです。