Estoy tratando de usar la nueva función de agrupación en un proyecto que convertí recientemente de MVC 3 a MVC 4 beta. Requiere una línea de código en global.asax BundleTable.Bundles.RegisterTemplateBundles();
, que requiere using System.Web.Optimization;
en la parte superior.
Cuando hago esto, obtengo las líneas onduladas rojas que dicen: "¿Te falta una referencia de ensamblaje?" Cuando intento agregar una referencia y hago clic en la pestaña .NET en el cuadro de diálogo, ordenar desde AZ, no veo System.Web.Optimization
.
¿Cómo agrego esta referencia a mi proyecto?
asp.net-mvc-4
namespaces
asp.net-optimization
Ian Davis
fuente
fuente
System.Web.Optimization
nodo en mis referencias.Respuestas:
La
versión de actualización 1.1.x está disponible, lea las notas de la versión: https://www.nuget.org/packages/Microsoft.AspNet.Web.Optimization
El paquete Microsoft.Web.Optimization ahora está obsoleto. Con ASP.NET (MVC) 4 y superior, debe instalar Microsoft ASP.NET Web Optimization Framework:
Instale el paquete desde nuget :
Cree y configure paquetes en App_Start \ BundleConfig.cs:
Llame a la función RegisterBundles () desde Application_Start () en su global.asax.cs:
En su view.cshtml incluya el espacio de nombres de Optimización y renderice los paquetes:
Consulte http://www.asp.net/mvc/overview/performance/bundling-and-minification para obtener más información.
fuente
Con la versión final lanzada de ASP.Net MVC 4, el enfoque es el siguiente:
Instale Microsoft.AspNet.Web.Optimization a través de nuget (ya que el marco no lo instala)
Cree el paquete en Global.asax Application_Start:
Agregue el espacio de nombres "System.Web.Optimization" al "Vistas" web.config:
En su view.cshtml agregue una inclusión al paquete creado en el último paso:
En modo de depuración, todos los archivos de script en su directorio se renderizarán individualmente; en el modo de lanzamiento serán agrupados y minificados.
fuente
".js"
archivos. En el interiorpublic static void RegisterBundles(BundleCollection bundles) { ... }
, deberías poder hacer algo asíbundles.Add(new StyleBundle("~/CssBundle"));
y tomaría todos los archivos CSS de tuCssBundle
carpeta. No deseaScriptBundle
que tenga en el ejemplo para archivos CSS.Actualice (reinstale) el paquete desde nuget, puede usar el comando:
update-Package Microsoft.AspNet.Web.Optimization -reinstall
fuente
En mi caso, fue un problema de tfs, ya que tfs excluye binarios, por lo que el PM de Nugget encuentra el nugget instalado y no actualiza la biblioteca. Si tiene un problema similar:
NB: la carpeta del paquete está en el mismo nivel del archivo yousolution.sln
fuente
Usando nuget para desinstalar System.Web.Optimization en la consola del administrador de paquetes de esta manera:
Paquete de desinstalación Microsoft.AspNet.Web.Optimization
Luego reinstalar usando:
Install-Package Microsoft.AspNet.Web.Optimization
Puede resolver este problema por ti.
fuente
Instálelo desde NUGet a través de Visual Studio Abra Visual Studio 2010, seleccione Herramientas-> Biblioteca Package Manager-> Package Manager Console
Esto abrirá el conslve, pega
y entra. y ya terminaste
fuente
establecido en Global.asax application_start (en modo RELEASE, etc.):
para habilitar la minificación y cambiar a falso en modo DEPURAR para representar todos los archivos de script y de estilo individualmente.
fuente
<compilation debug="true" />
se establece (que es bastante estándar cuando se crea una versión de depuración), no se realiza ninguna optimización. Normalmente, esta configuración se elimina automáticamente en una versión de lanzamiento.BundleTable.EnableOptimizations
solo debe usarse para anular el archivo web.config. Para más información: asp.net/mvc/tutorials/mvc-4/bundling-and-minification (busque "Controlling Bundling and Minification")BundleTable.EnableOptimizations = false;
porque en su BundleConfig.cs, está especificando todos los archivos preminificados y no desea que haga otra minimización en ellos.