Beim Veröffentlichen einer Website werden meine CSS-Bundles nicht aktualisiert

8

Wenn ich meinen Code im Veröffentlichungsmodus von Visual Studio aus starte und das mitgelieferte Stylesheet überprüfe, kann ich meine Updates für die CSS-Dateien in diesem Bundle sehen. Wenn ich die Website jedoch auf dem Server oder meinem lokalen Computer veröffentliche, sind meine Änderungen in den Stylesheets nicht zustande gekommen. Das gebündelte Stylesheet ist immer noch das alte.

Ich habe versucht, einen IIS Reset, einen sauberen Build / Rebuild, löschte alle Dateien aus dem IIS-Ordner und erneut veröffentlicht.

Ich benutze weniger, wenn das einen Unterschied macht.

My Bundle-Konfiguration:

%Vor%

Ich überprüfe das gebündelte CSS, indem ich Ссылка

besuche

Ich habe also eine Änderung in application.css vorgenommen, was in Ordnung ist, wenn ich in Visual Studio (im Veröffentlichungsmodus) spiele, aber wenn ich auf meinem lokalen IIS veröffentliche, ist meine Änderung nicht mehr vorhanden.

    
garethb 12.02.2015, 05:56
quelle

3 Antworten

33

Dies kann passieren, wenn Sie eine verkleinerte Version einer CSS-Datei im selben Verzeichnis haben wie Ihre nicht-finalisierte Datei.

Zum Beispiel, wenn Sie die folgenden Dateien haben:

%Vor%

in Ihrem Verzeichnis, und Sie registrieren die "bootstrap.css" -Datei in Ihrem Paket, der Optimierer wird zuerst versuchen, die Datei "bootstrap.min.css" während der Veröffentlichung zu verwenden. Wenn Sie nur die Datei "bootstrap.css" aktualisiert haben und die Datei "bootstrap.min.css" nicht aktualisiert haben, erhalten Sie die alten Stile von "bootstrap.min.css". Sie können dieses Problem beheben, indem Sie die Datei "bootstrap.min.css" löschen oder indem Sie sie aktualisieren.

Dies tritt nicht in einem Debug-Build auf, da es die minimierten Dateien nicht abruft, wenn Ihre Kompilierung für das Debuggen eingerichtet ist, indem Sie Folgendes verwenden:

%Vor%

Sie können die Einstellung web.config auch überschreiben, indem Sie die Optimierungen über:

deaktivieren %Vor%

Dies würde in Ihre BundleConfig.cs-Datei gehen.

    
Filip Stanek 18.06.2015, 14:10
quelle
1

In meinem Fall existiert bootstrap.min.css auch im Inhaltsordner, den ich entfernt habe und die Website funktioniert gut.

nach Filip Stanek erwähnt "der Optimierer wird zuerst versuchen, die Datei" bootstrap.min.css "während der Veröffentlichung"

zu verwenden

selbst wenn wir es nicht in der Bundle-Konfiguration hinzugefügt haben, während es den Code veröffentlicht, zeigt es auf "bootstrap.min.css"

    
Dhruv Patel 01.09.2016 15:50
quelle
0

Ich bin kürzlich auf ein ähnliches Problem mit der Bündelung gestoßen. Ich benutze angularJS in einem Webapi-Projekt im Visual Studio.

Meine web.config hat debug auf true gesetzt. Ich setze es auf falsch. Keine Änderung.

Dann habe ich versucht, meine Compilerbedingungen auf true (in global.asax.cs | app ... start method) zu setzen:

%Vor%

Das hat auch nicht funktioniert.

Schließlich habe ich die referenzierte / fehlende Datei (a <controllerName>.js ) im Paket an eine andere Stelle im Stapel verschoben. Beim Debuggen entmarkiere ich die Datei aus dem Bundle, weil ich sie direkt in die index.html einfüge. Es ist möglich, dass VS die Änderung nicht kompiliert hat, als ich sie wiederhergestellt habe.

%Vor%

Mein Vorschlag ist, dass der Compiler die Änderung nicht übernommen hat und unabhängig von der Reinigung und Wiederherstellung immer noch nicht. Nach dem Verschieben der Datei und der erneuten Veröffentlichung schien es zu funktionieren.

Aber ich habe auch den Cache in meinem Browser gelöscht, nicht nur von der Schaltfläche "Cache löschen", die ich in Chrome verwende, sondern auch vom Fenster Debugger | Netzwerk. Einige, die durch das obige gehen, sollten helfen.

    
user1076384 17.11.2016 15:22
quelle