Jak dodać odniesienie do systemu.Www.Optymalizacja aplikacji MVC-3-converted-to-4

Próbuję użyć nowej funkcji łączenia w pakiety w projekcie, który niedawno przekonwertowałem z MVC 3 do MVC 4 beta. Wymaga wiersza kodu w trybie globalnym.asax, BundleTable.Bundles.RegisterTemplateBundles();, który wymaga using System.Web.Optimization; na górze.

Kiedy to robię, dostaję czerwone linie, które mówią: "brakuje Ci odniesienia do montażu?"Kiedy próbuję dodać referencję i klikam na zakładkę. NET w oknie dialogowym, Sortuj od A-Z, nie widzę System.Web.Optimization.

Jak dodać ten ref do mojego projektu? Dzięki.

Author: Hao Kung, 2012-02-28

7 answers

Microsoft.Www.Pakiet optymalizacji jest już przestarzały. Z ASP.NET (MVC) 4 i wyższe powinieneś zainstalować Microsoft ASP.NET Web Optimization Framework:

  • Zainstaluj pakiet z :

    Install-Package Microsoft.AspNet.Web.Optimization
    
  • Utwórz i skonfiguruj pakiet (pakiety) w 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")
            );
        }
    }
    
  • Wywołanie funkcji RegisterBundles() z Application_Start () w Twoim globalnym.asax.cs:

    using System.Web.Optimization;
    
    protected void Application_Start() {
         ...
         BundleConfig.RegisterBundles(BundleTable.Bundles);
         ...
    }
    
  • Twoim zdaniem.CSHTML zawiera Optymalizacja przestrzeni nazw i renderowanie pakietu (pakietów):

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

Zobacz http://www.asp.net/mvc/overview/performance/bundling-and-minification więcej informacji

Update
Wersja 1.1.x jest dostępny, przeczytaj uwagi do wydania: https://www.nuget.org/packages/Microsoft.AspNet.Web.Optimization

 706
Author: mhu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-08 14:38:02

Z finalną wydaną wersją ASP.Net MVC 4 podejście jest następujące:

  • Zainstaluj Microsoft.AspNet.Www.Optymalizacja przez nuget (ponieważ nie jest on instalowany przez framework)

    install-package Microsoft.AspNet.Web.Optimization
    
  • Utwórz pakiet w trybie globalnym.ASAX Application_Start:

    var scripts = new ScriptBundle("~/MyBundle");
    scripts.IncludeDirectory("~/Scripts/MyDirectory", "*.js");
    BundleTable.Bundles.Add(scripts);
    
  • Dodaj " System.Www.Optymalizacja "przestrzeni nazw do" widoków " www.config:

     <pages pageBaseType="System.Web.Mvc.WebViewPage">
        <namespaces>
            <add namespace="System.Web.Optimization" />
        </namespaces>
    </pages>
    
  • Twoim zdaniem.cshtml dodaje include do pakietu utworzonego w ostatnim krok:

    @Scripts.Render("~/MyBundle")
    

W trybie debugowania wszystkie pliki skryptów w katalogu będą renderowane indywidualnie; w trybie release będą wiązane i minifikowane.

 83
Author: Noel Abrahams,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-20 10:11:14

W moim przypadku był to problem z tfs, ponieważ tfs wyklucza pliki binarne, więc Samorodek PM Znajduje samorodek zainstalowany i nie aktualizuje biblioteki Jeśli masz podobny problem:

  • Przejdź do kontroli źródła
  • Przejdź do..\packages \ Microsoft.Www.Optymalizacja
  • Dodaj folder lib (usuń zaznaczenie exclude binary extensions)
  • zaktualizuj rozwiązanie i dodaj referencję dll ze ścieżki

NB: folder pakietów znajduje się na tym samym poziomie yousolution.plik sln

 14
Author: amine,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-14 14:52:37

Zaktualizuj (ponownie zainstaluj) pakiet z nuget, możesz użyć polecenia:

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

 12
Author: M. Salah,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-22 22:20:27

Użycie nuget do odinstalowania systemu.Www.Optymalizacja w konsoli Menedżera pakietów tak:

Uninstall-Pakiet Microsoft.AspNet.Www.Optymalizacja

Następnie reinstalacja za pomocą:

Install-Pakiet Microsoft.AspNet.Www.Optymalizacja

Może rozwiązać ten problem za Ciebie.

 9
Author: Myzifer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-04 14:03:59

Zainstaluj go z NUGet poprzez Visual Studio Otwórz Visual Studio 2010, wybierz Tools-> Library Package Manager - > Package Manager Console

To otworzy konsolę, wklej

Install-Package Microsoft.AspNet.Web.Optimization 

I wejść. i jesteś skończony

 5
Author: Mian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-02 13:55:54

Set in Global.ASAX application_start (w trybie RELEASE itp.) :

BundleTable.EnableOptimizations = **true**;

Aby włączyć minifikację I zmienić na false w trybie debugowania , aby renderować wszystkie pliki skryptów i stylów osobno.

 2
Author: zenichi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-29 06:53:31