web-dev-qa-db-ja.com

ASP.NET 5、.NET Core、およびASP.NET Core 5の違いは何ですか?

これらの用語の違いについて混乱しています。

  • ASP.NET 5(ASP.NET Coreに改名され、5.0ではなく1.0としてリリース)
  • ASP.NET Core 5
  • .NET Core

誰でも簡単に説明できますか?

64
ijaz

ASP.NET 5(現在ASP.NET Core 1.0)

Webおよびクラウドシナリオ用の使い慣れた最新のフレームワークを提供する次世代のASP.NETです。 ASP.NET MVC、Web API、Web Pages、SignalRの次のバージョンが含まれています。高性能でモジュール式の設計であり、完全に並行してサポートすることで、オンプレミスからクラウドへの移行をシームレスにします。これらの製品は、ASP.NETチームがオープンソース開発者のコ​​ミュニティと共同で積極的に開発しています。私たちは共に、ウェブ開発のための最高のプラットフォームを作成することに専念しています。

更新:ASP.NET 5からASP.Net Core 1.0に名前が変更されました。

.NET Core:

.NET Coreは、ASP.NET Coreの基礎である小さな最適化されたランタイムです。現在、Windows、Linux、およびMacで実行されています。高性能でモジュール式の設計であり、それぞれが独自の.NET Coreランタイムのコピーを備えたWebサーバー上の複数のアプリケーションを持つことをサポートし、完全なサイドバイサイドエクスペリエンスを可能にします。他のアプリに影響を与えないNET Coreバージョン。これにより、.NET Coreアーキテクチャは現在のクラシック.NET 4.6から飛躍します。これらの製品は、.NETチームが積極的に開発し、オープンソース開発者のコ​​ミュニティと共同で開発しています。私たちは共に、新しい機能を備えた新しいシナリオのために.NETプラットフォームを改善および拡張することに専念しています。

.NET Coreには2つの主要なコンポーネントがあります。 .NET Framework CLRと同じコードベースから構築された小さなランタイムが含まれています。 .NET Coreランタイムには同じGCとJIT(RyuJIT)が含まれますが、アプリケーションドメインやコードアクセスセキュリティなどの機能は含まれません。ランタイムは、Microsoft.CoreCLRパッケージを介してNuGetで提供されます。

.NET Coreには、基本クラスライブラリも含まれています。これらのライブラリは、主に.NET Frameworkクラスライブラリと同じコードですが、より小さなライブラリセットを出荷できるようにファクタリング(依存関係の削除)されています。これらのライブラリは、NuGet.orgのSystem。* NuGetパッケージとして出荷されます。

詳細については、「 Introducing .NET Core 」を参照してください。

58
Ramakrishna.p

ASP.NET 5は、DNX(.NET Execution Environment)に基づく新しいプラットフォームです。 DNXは、CLRのロードを担当しています。現在、2種類のDNXがあります。Full.NET CLR(.NET Frameworkから)用とCoreCLR用です。 CoreCLRは、新しいクロスプラットフォームライトCLR(Win/Linux/Macで実行)です。

ASP.NET 5はCLR/CoreCLRでシームレスに機能します。DNXは使用中のランタイムから抽象化します。

古い.NET用に構築されたILアセンブリは、新しいCoreCLRおよびDNXで引き続き使用されます。したがって、ASP.NET 5の機能は多数のnugetパッケージです。

厳密に言えば、「asp.net core 5」や「.net core」(CLR!= .NET)などはありません。 「CoreCLRで実行されているASP.NET 5」があります。

IMOでは、「ASP.NET 5」を「.NET 5」と見なすことをお勧めします。

10
Shrike

ASP.net Core 5はまだありません。実際、Microsoftは.net 5(4.6以降のバージョン)を新しい名前.net Coreに変更することを決定しました

したがって、2016年6月にリリースされたバージョンは、実際には.net Core 1.0です。

彼らが新しい名前を付けた理由は、彼らが行った非常に根本的な変更です。

これらの基本的な変更は次のとおりです。

  • クロスプラットフォーム:Windows/IISでのみ動作する以前のバージョンとは対照的に、Windows/Linux/Macで動作します
  • 現在は完全にオープンソースであり、GitHubでそのコードのすべてのビットを見ることができます。
  • そのperformance(特にASP.netの場合)は、以前のバージョンよりもはるかに優れています。ミドルウェア)。nodejsおよびExpressJsフレームワークに精通している場合、ExpressJsによく似ています。場合によっては、NodeJよりもパフォーマンスが向上します。 このベンチマーク をご覧ください。
  • 高度に分散されたクラウドアプリケーションmicroservicesおよびcontainers(docker)
4
akazemis

ASP.NET CoreはASP.NET MVC 5の次のバージョンです。はい、バージョン番号はわかりにくいです!いくつかの名前の変更が行われました。 ASP.NET vNextとして始まり、ASP.NET 5に変更され、次にASP.NET MVC 6に名前が変更され、最終的にASP.NET Core 1.0になりました。

ASP.NETとASP.NET Coreの主な違いは次のとおりです。

  • プラットフォームに依存しない機能、ASP.NET Coreは、複数のプラットフォーム(Win/Linux/Mac OS)ホスティング(Cross platform)でのホスティングを提供します。
  • CLRの新しい軽量バージョンと非依存フレームワークを使用したアセンブリを導入しました。

  • フレームワークはcomplete rewrite(DIとの依存関係の除去)およびそのOpen source Projectです。

  • プロジェクトのデフォルトのプロジェクトテンプレートは、JQueryを使用したタイプスクリプトで更新されます。
  • 新しいセキュリティ機能の改善と、依存するすべてのフレームワークの完全な分離

  • angularおよびjsonベースの構成拡張パッケージサポートをノードモジュールでサポートするように更新されたプロジェクトテンプレート。

  • Visual Studio IDE(2015 v3 + 2017以降)VS Code IDEのサポート。

これを初めて使用する場合は、 こちら を参照してください

2

ちなみに、Linux aptおよびDockerパッケージには、CoreCLRの代替としてMonoランタイムもあります。 DNXのインストール次第では、Monoがデフォルトのままです。 「コア」のすべては、クロスプラットフォームの.netフレームワークであり、ASP.NET 5アプリのホストは、IIS、Apache、Monoなどを使用せず、DNXとLibuvを使用することです。

2
vezenkov

.NET Core 1.0は、.NET 4.6.2(完全な.NET Framework)の次のバージョンではありません。次のバージョンの場合、前のバージョンよりも多くの機能が必要です。しかし、Microsoft .NET Core 1.0によれば、.NET 4.6が持っている機能の一部を備えていません。それが、.NET 5ではなく.NET Core 1.0と命名した理由です。

ASP.NET Core 1.0では、.NET Core 1.0を参照として使用しています。つまり、ASP.NET Core 1.0アプリケーションを実行するために.NETフレームワークをインストールする必要はありません。

より更新された情報を見つけることができます こちら

1
Chinthaka

ASP.NET Coreすなわち1.0/2.0 ... ASP.NET Coreは、最新のクラウドベースを構築するためのオープンソースのクロスプラットフォームフレームワークです。 Windows、macOS、またはLinux上のWebアプリ。

ASP.NETすなわち... 4.5/4.6 ASP.NETは、エンタープライズレベルのサーバーベースの構築に必要なすべてのサービスを提供する成熟したフレームワークですWindows上のWebアプリ。

ASP.NET Core 5や.NET Coreなどはありません。 ASP.NET 5はASP.NET Core 1.0と同じです

リンクを参照してください: https://docs.Microsoft.com/en-us/aspnet/core/choose-aspnet-framework?view=aspnetcore-2.

0
raga