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.
System.Web.Optimization
.
Jak dodać ten ref do mojego projektu? Dzięki.
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:
-
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
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.
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
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
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.
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
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.
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