2012-08-24 6 views
6

Tengo mi propio servidor y estoy buscando actualizar una de mis soluciones a ASP.NET MVC 4, antes de actualizar el resto (3+).Para MVC 4, ¿cuál es la diferencia entre Microsoft.AspNet.Mvc y System.Web.Mvc?

Como parte de esto, descargué the standalone installer para ASP.NET MVC 4 y lo ejecuté en mi cuadro Server 2008 R2, ya que Web Platform Installer 4.0 tiene la actualización de herramientas, que quiere instalar Express y otras aplicaciones.

Ese instalador creó un directorio C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies con System.Web.Mvc.dll.

Fui a través the manual upgrade notes for MVC 3 to MVC 4 y acabo de correr a través artículo 3:

En el Explorador de soluciones, haga clic en las referencias y seleccione Administrar Paquetes NuGet. En el panel izquierdo, seleccione Actualizaciones \ Todos, a continuación, actualizar el siguiente:

  • ASP.NET MVC 4
  • (Opcional) jQuery, jQuery y jQuery UI Validación
  • (Opcional) Marco de la entidad
  • (optonal) Modernizr

de lo que puedo decir ASP.NET MVC 4 se refiere a this NuGet package, que se encuentra ahora en Microsoft ASP.NET MVC 4 (Microsoft.AspNet.Mvc), y parece ser para instalar en plataformas compartidas de hospedaje y en la nube.

¿O me está faltando algo? ¿Hay alguna razón para instalar este paquete incluso si tengo mi propio servidor y puedo instalar/actualizar .NET Frameworks como me gustaría?

EDITAR: Tenga en cuenta que comprobar los encabezados (no lo he desconectado aún) muestra que la versión de MVC para el sitio es 4.0, y eso sin el paquete NuGet. ¿Son correcciones/características que simplemente no se han incorporado al paquete básico? ¿Es principalmente para entornos de alojamiento compartido? Si lo mantengo, ¿dará como resultado una pérdida de rendimiento (consideraría innecesariamente un aumento en el uso de memoria para cubrirlo) si MVC 4 ya está instalado?

Respuesta

4

Por lo que puedo decir, son exactamente lo mismo. Aunque el paquete NuGet se llama Microsoft.AspNet.Mvc, el archivo dll que crea se llama System.Web.Mvc.dll. Tiene el mismo tamaño, firma de ensamblaje, etc. como el archivo System.Web.MVC en el GAC.

Así que, por ahora, incluso si hace referencia a ambos conjuntos, .NET debería reconocer que son exactamente iguales, y solo cargar uno de ellos. Es posible que Microsoft esté promocionando el paquete NuGet para facilitar la actualización a medida que aparecen nuevas versiones que no están basadas en los archivos .NET 4.5. O tal vez, como está adivinando, el paquete NuGet lo hace para que pueda ejecutar una aplicación MVC en un sistema donde no está permitido instalar MVC.

Cuestiones relacionadas