ASP.NET MVC se ha entregado cada vez más a través de paquetes NuGet desde la actualización de herramientas ASP.NET MVC 3. Esto ofrece varias ventajas:
- actualizaciones a los componentes entregados a través de NuGet - sí MVC y otros componentes asociados (Razor, Web API) sin esperar a una nueva versión "grande" de cualquiera de ASP.NET MVC, .NET, o Visual Studio.
- Esto también significa que puede usar partes individuales como lo desee fuera de MVC; por ejemplo, Web API puede usarse fuera de ASP.NET.
- Cada vez más, los componentes se comparten entre las capas de la interfaz de usuario y otras partes de ASP.NET. Algunos ejemplos: el enrutamiento se comparte con formularios web y páginas web, Razor se comparte con páginas web, las nuevas partes de OAuth se comparten con formularios web.
Se dará cuenta de que en un proyecto de la plantilla básica, obtendrá los siguientes paquetes:
- Microsoft.AspNet.Mvc
- Microsoft.AspNet.Razor
- Microsoft .AspNet.WebApi
- Microsoft.AspNet.WebApi.Client
- Microsoft.AspNet.WebApi.Core
- Microsoft.AspNet.WebApi.WebHost
- Microsoft.AspNet.Páginas web
- Microsoft.Net.Http
- Microsoft.Web.Infrastructure
- Newtonsoft.Json
Cinco de los nueve se utilizan para la Web API, que ha sido muy por componentes para permitir a los desarrolladores una gran cantidad de flexibilidad sobre dónde y cómo pueden usarlos. Si quiere minimizar sus paquetes NuGet, puede usar la plantilla Básica.
A medida que avanza en las plantillas básicas e Internet, verá más paquetes para admitir las características adicionales que ofrecen los proyectos. Internet trae varios paquetes de código abierto, que no son de Microsoft, como las bibliotecas OAuth y JavaScript.
Hay muchos paquetes de JavaScript, lo cual es realmente bueno cuando lo piensas, ya que esto significa que NuGet está manejando automáticamente las dependencias de JavaScript por ti, si deseas actualizar jQueryUI, que a su vez requiere una nueva versión de jQuery, actualizará automáticamente jQuery por ti.
Tengo curiosidad, ¿por qué es un problema tener muchos paquetes NuGet? ¿Que problema estas tratando de resolver? – neontapir
No dije que había un problema. Simplemente instalé MVC 4 y creé un nuevo proyecto y busqué para ver qué era diferente. Un proyecto vacío tiene una página llena de paquetes y el proyecto de Internet tiene tres páginas completas de paquetes. Simplemente quiero saber por qué es porque mis proyectos de MVC 3 utilizan, como máximo, alrededor de cinco paquetes. Solo siendo curioso. – Gup3rSuR4c
Le hice la pregunta porque podría colorear el tipo de respuestas que recibe. – neontapir