38 votes

Pourquoi ASP.NET MVC 4 contient-il autant de packages NuGet et lesquels sont vraiment importants?

Comme le titre le dit, pourquoi ne l'ASP.NET MVC 4 projets ont tellement de nombreux packages NuGet? Est l'ensemble du cadre divisé en paquets maintenant? Ceux qui sont vraiment importants pour un projet vide qui sera un site web, pas d'API, etc?

Mise à JOUR

Pour être clair, je ne suis pas avoir de problème, sauf si vous comptez base de confusion comme l'un. Je veux juste savoir pourquoi les nouveaux MVC 4 projets ont autant de paquets installés par défaut? Un projet vide a une pleine page de paquets. Un projet internet dispose de trois pages de paquets.

Je suis juste curieux de savoir pourquoi c'est parce que mon actuel MVC 3 projets de l'utiliser au maximum de cinq paquets.

26voto

Darin Dimitrov Points 528142

Comme le titre le dit, pourquoi ne l'ASP.NET MVC 4 projets ont tellement de nombreux packages NuGet?

C'est une question que vous devez poser les concepteurs du cadre.

Ceux qui sont vraiment importants pour un projet vide qui sera un site web, pas d'API, etc?

Voici le strict minimum qui vous permettra de configurer le routage et définir un contrôleur avec une action de rendu d'un Rasoir vue:

<packages>
  <package id="Microsoft.AspNet.Mvc" version="4.0.20710.0" targetFramework="net40" />
  <package id="Microsoft.AspNet.Razor" version="2.0.20710.0" targetFramework="net40" />
  <package id="Microsoft.AspNet.WebPages" version="2.0.20710.0" targetFramework="net40" />
  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net40" />
</packages>

ou si vous préférez seulement 1/2 de page:

enter image description here

22voto

Jon Galloway Points 28243

ASP.NET MVC a été de plus en plus livrés via NuGet packages depuis ASP.NET MVC 3 Outils de mise à Jour. Cela offre plusieurs avantages:

  • Des mises à niveau pour les composants livrés via NuGet - MVC lui-même et d'autres composants associés (Rasoir, Web API) sans attendre une nouvelle "grande" sortie de soit ASP.NET MVC, .NET ou Visual Studio.
  • Cela signifie également que vous pouvez utiliser les pièces que vous le souhaitez à l'extérieur de la MVC - par exemple, le Web API peut être utilisée à l'extérieur de ASP.NET.
  • De plus en plus, les composants sont partagés entre les couches de l'INTERFACE utilisateur et d'autres parties de ASP.NET. Quelques exemples: le routage est partagé avec des Formulaires Web et des Pages Web, Rasoir est partagé avec des Pages Web, la nouvelle OAuth pièces sont partagées avec les Formulaires Web.

Vous remarquerez que, dans un projet à partir du modèle de Base, vous obtenez les paquets suivants:

  • Microsoft.AspNet.Mvc
  • Microsoft.AspNet.Rasoir
  • Microsoft.AspNet.WebApi
  • Microsoft.AspNet.WebApi.Client
  • Microsoft.AspNet.WebApi.De base
  • Microsoft.AspNet.WebApi.Hébergeur
  • Microsoft.AspNet.Les pages web
  • Microsoft.Net.Http
  • Microsoft.Web.L'Infrastructure
  • Newtonsoft.Json

Cinq des neuf sont utilisés pour de l'Api Web, qui a été très modulaire pour permettre aux développeurs de beaucoup de souplesse en ce qui concerne où et comment ils peuvent les utiliser. Si vous souhaitez réduire vos packages NuGet, vous pouvez utiliser le modèle de Base.

Que vous vous déplacez dans la Base et de l'Internet des modèles, vous verrez plus de paquets pour soutenir les fonctions supplémentaires les projets fournissent. Internet apporte en plusieurs paquets de l'open-source, les non-Microsoft code comme OAuth et les bibliothèques JavaScript.

Il y a beaucoup de JavaScript paquets, ce qui est une très bonne chose quand vous pensez à ce sujet, car cela signifie que NuGet est gérer automatiquement JavaScript dépendances pour vous - si vous souhaitez mettre à niveau jQueryUI qui nécessite à son tour une nouvelle version de jQuery, il sera automatiquement mise à niveau de jQuery pour vous.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X