2012-09-24 24 views
8

Dado que un nuevo proyecto de Internet MVC 4 tiene no menos de 47 referencias y 29 paquetes nuget. Me pregunto cuál es el menor número de referencias con las que puedo salirme. Me gustaría elegir mis soluciones Javascript y ORM. Básicamente solo quiero el barebones MVC Framework. ¿De qué me puedo deshacer? Y para puntos de bonificación, ¿cuál es el mínimo que tengo que agregar para que WebApi funcione?MVC4 referencias mínimas

Respuesta

6

Sólo por el bien de la integridad, aquí están las referencias mínimas me pareció ser necesaria para una aplicación ASP MVC trabajo desplegado para IIS (en mi caso, versión 7.5).Es decir, si solo tiene estas referencias, se ejecutará su aplicación MVC y, si no tiene todas, no se ejecutará. Además, tenga en cuenta que estoy hablando desde una perspectiva de implementación, no desde una perspectiva de servidor de desarrollo local. La ejecución local sin todas estas referencias puede funcionar, pero puede terminar fallando cuando se implementa en IIS.

Referencias mínimos

REFERENCE      COPY LOCAL* 
---------      ----------- 
Microsoft.Web.Infrastructure  true 
System       false 
System.Web      false 
System.Web.Http     false 
System.Web.Mvc     true 
System.Web.WebPages    true 
System.Web.WebPages.Deployment true 
System.Web.WebPages.Razor  true 

* copia local se establece en falso de estas referencias cuando se añaden a la solución. Establezca la propiedad Copiar local para las referencias anteriores de forma correspondiente para asegurarse de que las DLL se colocan en el directorio bin al construir el proyecto. De esa forma, serán recogidos para su despliegue.

+0

Sí, mejor que mi respuesta. Gracias. –

1

Luego, no elija la plantilla de Internet. En su lugar, elija las plantillas vacías o básicas. Para eso están allí.

La plantilla de Internet requiere todas las referencias que tiene. Si desea eliminar algunas de esas referencias, debe eliminar el código de la plantilla.

Todas las plantillas, sin embargo, parecen incluir algunos paquetes que puede que no necesite, como json.net o WebApi, pero pueden eliminarse si no los necesita.

+1

Estoy buscando más de una respuesta de diagnóstico en lugar de utilizar una plantilla diferente con el mismo problema, pero no tanto. –

+0

@SaintGerbil - Entonces la respuesta es que la Plantilla de Internet requiere todas sus referencias. Si desea eliminar referencias, también deberá eliminar el código, como AccountController (que es donde se necesitan la mayoría de las referencias). –

3

Por lo que su pasado un tiempo, En la actualización 2 parece que hay una plantilla vacía que todavía tiene una carga de referencias no utilizados, una vez que haya creado la solución se puede quitar con seguridad las siguientes referencias:

  • Microsoft.CSharp
  • Microsoft.Web.Infrastructure
  • Microsoft.Web.Mvc.FixedDisplayModes
  • Newtonsoft.Json
  • System.ComponentModel.DataAnno taciones
  • System.Data
  • System.Data.DataSetExtensions
  • System.Drawing
  • System.EnterpriseServices
  • System.Net.Http.Formatting
  • System.Net.Http.WebRequest
  • System.Web.ApplicationServices
  • System.Web.DynamicData
  • System.Web.Entity
  • System.Web.Extensions
  • System.Web.Helpers
  • System.Web.Razor
  • System.Web.Services
  • System.Web.WebPages.Deployment
  • System.XML
  • System.Xml.Linq

y desde un punto de vista Nuget puede eliminar todos los paquetes excepto (y sus dependencias):

  • Microsoft.AspNet.WebApi
  • Microsoft.AspNet.Mvc