¿Son realmente necesarios todos los ensamblajes de ASP.NET MVC 4 RC para una implementación de ASP.NET WebAPI RC?
Frecuentes
Visto 3,785 equipos
12
Cuando creé un proyecto "Empty WebAPI" en Visual Studio 2010, varios de los nuevos ensamblajes para admitir las páginas web de MVC se agregaron como referencias (un ejemplo de los pocos en la lista a continuación):
- System.Web.Razor.dll
- System.Web.WebPages.Deployment.dll
- System.Web.WebPages.dll
- System.Web.WebPages.Razor.dll
En aras de la limpieza, eliminé las referencias de DLL que no estaba usando (o eso pensé que no estaba "usando"). Al implementar en el servidor obtendría excepciones como las siguientes:
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.
Actualmente estoy implementando un contenedor en el servidor con todos los ensamblajes necesarios hasta que cesaron los errores de compilación JIT.
Entiendo la excepción FileNotFoundException. Entiendo que el tiempo de ejecución está tratando de resolver esa referencia.
Mis preguntas): ¿Por qué es necesario transportar los ensamblados MVC Razor cuando todo lo que intenta crear es un sitio WebAPI? ¿Hay otra dependencia que deba eliminarse?
1 Respuestas
17
No, no necesita todos esos ensamblajes.
Siempre prefiero construir mis proyectos de Web API desde rayar. No uso las plantillas. Simplemente creo un Proyecto ASP.NET vacío y agrego el Microsoft.AspNet.WebApi Paquete NuGet.
Aquí están las referencias que parecen ser solo necesarias:
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
Respondido 04 Jul 12, 06:07
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas asp.net deployment asp.net-mvc-4 asp.net-web-api or haz tu propia pregunta.
Esto es de gran ayuda. ¡Gracias! - Reacción21
¿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/Ayuda para ver todas las apis .. - guiomié
System.Data.DataSetExtensions, System.Drawing y System.Web.DynamicData no son necesarios en un proyecto WebAPI típico y se pueden eliminar. - damieng