ASP.NET MVC は、ASP.NET MVC 3 Tools Update 以降、NuGet パッケージ経由で提供されることが増えています。これにはいくつかの利点があります。
- ASP.NET MVC、.NET、または Visual Studio の新しい「大きな」リリースを待たずに、MVC 自体およびその他の関連コンポーネント (Razor、Web API) など、NuGet 経由で提供されるコンポーネントにアップグレードします。
- これは、MVC の外部で個々のパーツを好きなように使用できることも意味します。たとえば、Web API は ASP.NET の外部で使用できます。
- コンポーネントは、UI レイヤーと ASP.NET の他の部分との間でますます共有されています。いくつかの例: ルーティングは Web フォームおよび Web ページと共有され、Razor は Web ページと共有され、新しい OAuth パーツは Web フォームと共有されます。
Basic テンプレートのプロジェクトでは、次のパッケージが取得されます。
- Microsoft.AspNet.Mvc
- Microsoft.AspNet.Razor
- Microsoft.AspNet.WebApi
- Microsoft.AspNet.WebApi.Client
- Microsoft.AspNet.WebApi.Core
- Microsoft.AspNet.WebApi.WebHost
- Microsoft.AspNet.WebPages
- Microsoft.Net.Http
- Microsoft.Web.Infrastructure
- Newtonsoft.Json
9 つのうち 5 つが Web Api に使用されます。Web Api は高度にコンポーネント化されており、開発者はそれらをどこでどのように使用できるかについて多くの柔軟性を得ることができます。NuGet パッケージを最小限に抑えたい場合は、基本テンプレートを使用できます。
基本テンプレートとインターネット テンプレートに進むと、プロジェクトが提供する追加機能をサポートするパッケージがさらに表示されます。Internet では、OAuth や JavaScript ライブラリなど、Microsoft 以外のオープン ソース コードのパッケージがいくつか導入されています。
多くの JavaScript パッケージがあります。これは、NuGet が JavaScript の依存関係を自動的に処理することを意味するため、考えてみると非常に良いことです。jQueryUI をアップグレードする場合、新しいバージョンの jQuery が必要になります。自動的に jQuery をアップグレードします。