ASP.NET MVCは、マイクロソフトによって開発されたWebアプリケーションフレームワークであり、Model View Controller (MVC)パターンを実装している。新規の開発はすでに停止している。プロプライエタリソフトウェアであるASP.NET Web Formsとは分離されており、ASP.NET MVCはオープンソースソフトウェアとなっている。
その後、ASP.NET Coreがリリースされ、ASP.NET、ASP.NET MVC、ASP.NET Web API、ASP.NET Web Pages (Razorページのみを使用するプラットフォーム)が統合された。 MVC 6はCoreのために放棄され、リリース予定はない。Coreは現在、「.NET 5」に統合予定である[4]。
ASP.NETをベースとしているASP.NET MVCを使用すると、ソフトウェア開発者は、モデル、ビュー、コントローラーの3つの役割の組み合わせでWebアプリケーションを構築できる。 MVCモデルは、次の3つの論理層でWebアプリケーションを定義する。
モデルは、アプリケーションの特定の側面の状態を表す。コントローラーは相互作用を処理し、アプリケーションの状態の変化を反映するようにモデルを更新してから、情報をビューに渡す。ビューは、コントローラーから必要な情報を受け取り、その情報を表示するためのユーザインタフェースを描画する[5]。
2009年4月、ASP.NET MVCソースコードは、Microsoft Public License (MS-PL) の下でリリースされた[6]。
「ASP.NET MVCフレームワークは、既存のASP.NETの機能と統合された、軽量で[7]高度にテスト可能なプレゼンテーションフレームワークである。これらの統合された機能のいくつかは、マスターページとメンバーシップベースの認証を使う。 MVCフレームワークはSystem.Web.Mvcアセンブリで定義されている[8]。」
ASP.NET MVCフレームワークは、インタフェースベースのコントラクトを使用してモデル、ビュー、およびコントローラーを結合し、それによって各コンポーネントを個別にテストできるようにする[要出典]。
2012年3月、スコット・ガスリーはブログで、マイクロソフトがオープンソースライセンス(Apache License 2.0)に基づきWebスタックの一部(ASP.NET MVC、Razor 、およびWeb APIを含む)をリリースしたことを発表した[9]。
ガスリーは次のように述べた。「そうすることで、コミュニティの全員がコードチェックイン、バグ修正、新機能の開発に関与してフィードバックを提供し、ソースコードとテストの最新バージョンの製品を毎日使用してビルドおよびテストできる、よりオープンな開発モデルが可能になる。」
ソースコードはCodePlexで公開されている。 ASP.NET Web Formsは、さまざまな理由でこのイニシアチブに含まれていない[10]。
| 日付 | バージョン |
|---|---|
| 2007年12月10日 | ASP.NET MVCCTP |
| 2009年3月13日 | ASP.NET MVC 1.0[11] |
| 2009年12月16日 | ASP.NET MVC 2RC[12] |
| 2010年2月4日 | ASP.NET MVC 2 RC 2[13] |
| 2010年3月10日 | ASP.NET MVC 2[14] |
| 2010年10月6日 | ASP.NET MVC3ベータ版[15] |
| 2010年11月9日 | ASP.NET MVC 3 RC |
| 2010年12月10日 | ASP.NET MVC 3 RC 2[16] |
| 2011年1月13日 | ASP.NET MVC 3[17] |
| 2011年9月20日 | ASP.NET MVC4開発者プレビュー[18] |
| 2012年2月15日 | ASP.NET MVC4ベータ版[19] |
| 2012年5月31日 | ASP.NET MVC 4 RC[20] |
| 2012年8月15日 | ASP.NET MVC 4[21] |
| 2013年5月30日 | ASP.NET MVC 4 4.0.30506.0[22] |
| 2013年6月26日 | ASP.NET MVC5プレビュー[23] |
| 2013年8月23日 | ASP.NET MVC 5 RC 1[24] |
| 2013年10月17日 | ASP.NET MVC 5 |
| 2014年1月17日 | ASP.NET MVC 5.1 |
| 2014年2月10日 | ASP.NET MVC 5.1.1 |
| 2014年4月4日 | ASP.NET MVC 5.1.2 |
| 2014年6月22日 | ASP.NET MVC 5.1.3 |
| 2014年7月1日 | ASP.NET MVC 5.2.0 |
| 2014年8月28日 | ASP.NET MVC 5.2.2 |
| 2015年2月9日 | ASP.NET MVC 5.2.3 |
| 2018年2月12日 | ASP.NET MVC 5.2.4[25] |
| 2018年5月2日 | ASP.NET MVC 5.2.5[26] |
| 2018年5月11日 | ASP.NET MVC 5.2.6 |
| 2018年11月29日 | ASP.NET MVC 5.2.7 |
| 日付 | バージョン |
|---|---|
| 2016年5月17日 | ASP.NET Core MVC 1.0.0-rc2[27] |
| 2016年8月12日 | ASP.NET Core MVC 1.0.0 |
| 2016年8月17日 | ASP.NET Core MVC 1.0.1 |
| 2016年11月17日 | ASP.NET Core MVC 1.0.2 |
| 2017年3月6日 | ASP.NET Core MVC 1.0.3[28] |
| 2017年5月9日 | ASP.NET Core MVC 1.0.4 |
| 2017年9月20日 | ASP.NET Core MVC 1.0.5 |
| 2016年11月14日 | ASP.NET Core MVC 1.0.6 |
| 2016年11月16日 | ASP.NET Core MVC 1.1.0 |
| 2017年1月27日 | ASP.NET Core MVC 1.1.1 |
| 2017年3月6日 | ASP.NET Core MVC 1.1.2 |
| 2017年5月9日 | ASP.NET Core MVC 1.1.3 |
| 2017年9月20日 | ASP.NET Core MVC 1.1.4 |
| 2017年11月14日 | ASP.NET Core MVC 1.1.5 |
| 2017年12月12日 | ASP.NET Core MVC 1.1.6 |
| 2018年3月13日 | ASP.NET Core MVC 1.1.7 |
| 2017年8月11日 | ASP.NET Core MVC 2.0.0[29] |
| 2017年11月14日 | ASP.NET Core MVC 2.0.1 |
| 2018年1月9日 | ASP.NET Core MVC 2.0.2 |
| 2018年3月13日 | ASP.NET Core MVC 2.0.3 |
| 2018年5月30日 | ASP.NET Core MVC 2.1.0[30] |
| 2018年6月18日 | ASP.NET Core MVC 2.1.1[31] |
| 2018年12月4日 | ASP.NET Core MVC 2.2.0[32] |
| 2019年9月29日 | ASP.NET Core MVC 3.0.0 |
| 2019年12月3日 | ASP.NET Core MVC 3.1.0[33] |
| 2020年1月14日 | ASP.NET Core MVC 3.1.1[34] |
ASP.NET MVC3およびMVC4フレームワークで使用されるビューエンジンは、RazorとWeb Formsである[35][36]。 両方のビューエンジンともMVC3フレームワークの一部である。デフォルトでは、MVCフレームワークのビューエンジンは、Razor.cshtmlと.vbhtml 、またはWeb Formsの.aspxページを使用して、データを構成するユーザインタフェースページのレイアウトを設計する。異なるビューエンジンも使用できる[37]。 さらに、デフォルトのASP.NET Web Formsのポストバックモデルの替わりに、すべての対話はASP.NETルーティングメカニズムを通じてコントローラーにルーティングされる。ビューは異なるURLにマップできる[5]。
その他のビューエンジン:
| アーキテクチャ | |
|---|---|
| 共通言語基盤 | |
| 言語 | |
| パッケージマネージャ | |
| 関連技術 | |
| その他のCLI実装 | |
| 組織 | |
| 開発環境 | |
| その他 | |