Ich versuche, die neue Bündelungsfunktion in einem Projekt zu verwenden, das ich kürzlich von MVC 3 auf MVC 4 Beta konvertiert habe. Es erfordert eine Codezeile in global.asax BundleTable.Bundles.RegisterTemplateBundles();
, die oben benötigt wird using System.Web.Optimization;
.
Wenn ich das mache, bekomme ich die roten, schnörkellosen Linien, die sagen: "Fehlt Ihnen eine Baugruppenreferenz?" Wenn ich versuche, eine Referenz hinzuzufügen und im Dialogfeld auf die Registerkarte .NET zu klicken, nach AZ sortieren, wird dies nicht angezeigt System.Web.Optimization
.
Wie füge ich diesen Verweis meinem Projekt hinzu?
asp.net-mvc-4
namespaces
asp.net-optimization
Ian Davis
quelle
quelle
System.Web.Optimization
Knoten wieder in meine Referenzen aufzunehmen.Antworten:
Update
Version 1.1.x ist verfügbar. Lesen Sie die Versionshinweise: https://www.nuget.org/packages/Microsoft.AspNet.Web.Optimization
Das Microsoft.Web.Optimization-Paket ist jetzt veraltet. Ab ASP.NET (MVC) 4 sollten Sie das Microsoft ASP.NET Web Optimization Framework installieren:
Installieren Sie das Paket von Nuget :
Erstellen und konfigurieren Sie Bundles in App_Start \ BundleConfig.cs:
Rufen Sie die Funktion RegisterBundles () von Application_Start () in Ihrer Datei global.asax.cs auf:
Fügen Sie in Ihre view.cshtml den Optimierungs-Namespace ein und rendern Sie die Bundles:
Weitere Informationen finden Sie unter http://www.asp.net/mvc/overview/performance/bundling-and-minification
quelle
Mit der endgültigen veröffentlichten Version von ASP.Net MVC 4 ist der Ansatz wie folgt:
Installieren Sie Microsoft.AspNet.Web.Optimization über Nuget (da es nicht vom Framework installiert wird).
Erstellen Sie das Bundle in Global.asax Application_Start:
Fügen Sie den Namespace "System.Web.Optimization" zur web.config "Views" hinzu:
Fügen Sie in Ihrer view.cshtml dem im letzten Schritt erstellten Bundle ein Include hinzu:
Im Debug-Modus werden alle Skriptdateien in Ihrem Verzeichnis einzeln gerendert. Im Release-Modus werden sie gebündelt und minimiert.
quelle
".js"
Dateien. Im Innerenpublic static void RegisterBundles(BundleCollection bundles) { ... }
sollten Sie in der Lage sein, so etwas zu tun,bundles.Add(new StyleBundle("~/CssBundle"));
und es würde alle CSS-Dateien in IhremCssBundle
Ordner abrufen. Sie möchten nichtScriptBundle
wie im Beispiel für CSS-Dateien.Aktualisieren Sie das Paket von Nuget (installieren Sie es neu). Verwenden Sie dazu den folgenden Befehl:
update-Package Microsoft.AspNet.Web.Optimization -reinstall
quelle
In meinem Fall handelte es sich um ein tfs-Problem, da tfs Binärdateien ausschließt, sodass die Nugget-PM das installierte Nugget findet und die Bibliothek nicht aktualisiert. Wenn Sie ein ähnliches Problem haben:
Hinweis: Der Paketordner befindet sich auf derselben Ebene wie die Datei yousolution.sln
quelle
Verwenden von nuget zum Deinstallieren von System.Web.Optimization in der Paketmanagerkonsole wie folgt:
Deinstallationspaket Microsoft.AspNet.Web.Optimization
Dann neu installieren mit:
Installationspaket Microsoft.AspNet.Web.Optimization
Kann dieses Problem für Sie lösen.
quelle
Installieren Sie es von NUGet über Visual Studio. Öffnen Sie Visual Studio 2010 und wählen Sie Extras-> Bibliothekspaket-Manager-> Paketmanager-Konsole
Dies öffnet den Conslve, Paste
und eintreten. und du bist fertig
quelle
in Global.asax application_start festgelegt (im RELEASE-Modus usw.):
Aktivieren der Minimierung und Ändern in false im DEBUG-Modus , um alle Skript- und Stildateien einzeln zu rendern.
quelle
<compilation debug="true" />
gesetzt ist (was beim Erstellen einer Debug-Version ziemlich Standard ist), findet keine Optimierung statt. Normalerweise wird diese Einstellung in einem Release-Build automatisch entfernt.BundleTable.EnableOptimizations
sollte nur verwendet werden, um die web.config zu überschreiben. Für weitere Informationen: asp.net/mvc/tutorials/mvc-4/bundling-and-minification (Suche nach "Controlling Bundling and Minification")BundleTable.EnableOptimizations = false;
weil Sie in Ihrer BundleConfig.cs alle vorminimierten Dateien angeben und nicht möchten, dass sie erneut minimiert werden.