Cómo agregar una referencia a System.Web.Optimization para la aplicación MVC-3-converted-to-4

Estoy intentando utilizar la nueva función de agrupamiento en un proyecto que he convertido recientemente de MVC 3 a MVC 4 beta. Requiere una línea de código en global.asax, BundleTable.Bundles.RegisterTemplateBundles(); , que requiere el using System.Web.Optimization; en la cima.

Cuando hago esto, obtengo las líneas rojas onduladas que dicen: “¿Te falta una referencia de ensamblaje?” Cuando bash agregar una referencia y hago clic en la pestaña .NET en el cuadro de diálogo, ordeno desde AZ, no veo System.Web.Optimization .

¿Cómo agrego esta referencia a mi proyecto? Gracias.

    El paquete Microsoft.Web.Optimization ahora está obsoleto. Con ASP.NET (MVC) 4 y superior, debe instalar el Microsoft ASP.NET Web Optimization Framework:

    • Instala el paquete desde nuget :

       Install-Package Microsoft.AspNet.Web.Optimization 
    • Cree y configure paquetes en App_Start \ BundleConfig.cs:

       public class BundleConfig { public static void RegisterBundles(BundleCollection bundles) { bundles.Add(new ScriptBundle("~/Scripts/jquery").Include( "~/Scripts/Lib/jquery/jquery-{version}.js", "~/Scripts/Lib/jquery/jquery.*", "~/Scripts/Lib/jquery/jquery-ui-{version}.js") ); bundles.Add(new ScriptBundle("~/Scripts/knockout").Include( "~/Scripts/Lib/knockout/knockout-{version}.js", "~/Scripts/Lib/knockout/knockout-deferred-updates.js") ); } } 
    • Llame a la función RegisterBundles () desde Application_Start () en su global.asax.cs:

       using System.Web.Optimization; protected void Application_Start() { ... BundleConfig.RegisterBundles(BundleTable.Bundles); ... } 
    • En su view.cshtml, incluya el espacio de nombres de optimización y renderice los paquetes:

       @using System.Web.Optimization @Scripts.Render("~/Scripts/jquery") @Scripts.Render("~/Scripts/knockout") 

    Consulte http://www.asp.net/mvc/overview/performance/bundling-and-minification para obtener más información.

    Actualizar
    La versión 1.1.x está disponible, lea las notas de la versión: https://www.nuget.org/packages/Microsoft.AspNet.Web.Optimization

    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 no está instalado por el marco)

       install-package Microsoft.AspNet.Web.Optimization 
    • Cree el paquete en Global.asax Application_Start:

       var scripts = new ScriptBundle("~/MyBundle"); scripts.IncludeDirectory("~/Scripts/MyDirectory", "*.js"); BundleTable.Bundles.Add(scripts); 
    • Agregue el espacio de nombres “System.Web.Optimization” a “Views” web.config:

             
    • En su view.cshtml agregue una inclusión al paquete creado en el último paso:

       @Scripts.Render("~/MyBundle") 

    En el modo de depuración, todos los archivos de script en su directorio se mostrarán individualmente; en el modo de lanzamiento, serán agrupados y minificados.

    En mi caso, era un problema de tfs, ya que tfs excluía binarios, por lo que el Nugget PM encuentra el nugget instalado y no actualiza la biblioteca. Si tienes un problema similar:

    • Ir al control de fuente
    • Navegue hasta … \ packages \ Microsoft.Web.Optimization
    • Agregar una carpeta lib (desmarca la exclusión de extensiones binarias)
    • Actualice su solución y agregue la referencia dll de la ruta

    NB: la carpeta del paquete está en el mismo nivel del archivo yousolution.sln

    Actualice (reinstale) el paquete de nuget, puede usar el comando:

    update-Package Microsoft.AspNet.Web.Optimization -reinstall

    Usando nuget para desinstalar System.Web.Optimization en la consola del administrador de paquetes de esta manera:

    Uninstall-Package Microsoft.AspNet.Web.Optimization

    Luego reinstalar usando:

    Install-Package Microsoft.AspNet.Web.Optimization

    Puede resolver este problema por ti.

    Instálelo desde NUGet a través de Visual Studio Abra Visual Studio 2010, seleccione Herramientas-> Administrador de paquetes de biblioteca-> Consola de Package Manager

    Esto abrirá la conslve, pegará

     Install-Package Microsoft.AspNet.Web.Optimization 

    y entrar y has terminado

    configurado en Global.asax application_start (en modo RELEASE, etc.):

     BundleTable.EnableOptimizations = **true**; 

    para habilitar la minificación y cambiar a falso en el modo DEBUG para renderizar todos los archivos de guiones y estilos individualmente.