2012-07-03 17 views
12

Cuando creé un proyecto "WebAPI vacío" en Visual Studio 2010, varios de los nuevos montajes de apoyo a las páginas web MVC se añadieron como referencias (un ejemplo de los pocos en la lista más abajo):¿Todos los ensamblados de ASP.NET MVC 4 RC son realmente necesarios para una implementación de ASP.NET WebAPI RC?

  • Sistema .Web.Razor.dll
  • System.Web.WebPages.Deployment.dll
  • System.Web.WebPages.dll
  • System.Web.WebPages.Razor.dll

Por el bien de limpieza, removí ed esas referencias DLL que no estaba usando (o eso creía que no estaba "usando"). Al implementar el servidor me gustaría tener excepciones como la siguiente:

Exception message: Could not load file or assembly 'System.Web.Razor,Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. 

que estoy haciendo actualmente un cubo de desplegar al servidor con todos los conjuntos Hubo que esperar hasta el compliation JIT errores cesaron.

Entiendo la excepción FileNotFoundException. Entiendo que el tiempo de ejecución está tratando de resolver esa referencia.

Mi pregunta (s): ¿Por qué es necesario llevar alrededor de las asambleas MVC Razor cuando todo lo que está tratando de crear es un sitio WebAPI? ¿Hay alguna otra dependencia que deba eliminarse?

Respuesta

17

No, no necesita todos esos ensamblajes.

Siempre prefiero construir mis proyectos de API web desde rayar. No uso las plantillas. Simplemente creo un proyecto ASP.NET vacío y agrego el paquete NuGet Microsoft.AspNet.WebApi.

Estas son las referencias que parecen ser necesarios solamente:

Microsoft.CSharp 
Microsoft.Web.Infrastructure // Microsoft.Web.Infrastructure NuGet package 
Newtonsoft.Json    // Newtonsoft.Json NuGet package 
System.Net.Http    // Microsoft.Net.Http NuGet package 
System.Net.Http.Formatting  // Microsoft.AspNet.WebApi.Client NuGet package 
System.Net.Http.WebRequest  // Microsoft.Net.Http NuGet package 
System.Web.DynamicData 
System.Web.Entity 
System.Web.ApplicationServices 
System.ComponentModel.DataAnnotations 
System 
System.Data 
System.Core 
System.Data.DataSetExtensions 
System.Web.Extensions 
System.Web.Http    // Microsoft.AspNet.WebApi.Core NuGet package 
System.Web.Http.WebHost  // Microsoft.AspNet.WebApi.WebHost NuGet package 
System.Xml.Linq 
System.Drawing 
System.Web 
System.Xml 
System.Configuration 
System.Web.Services 
System.EnterpriseServices 
+1

impresionante; gran consejo! –

+0

Esto es magníficamente útil. ¡Gracias! – Reaction21

+0

¿Cómo agregaría la sección de "ayuda" que se encuentra en la plantilla de API web? La sección donde navega a localhost/Help para ver todas las apis. – guiomie

Cuestiones relacionadas