Bundling funktioniert in MVC5 nicht, wenn ich den Freigabemodus einschalte

Ich habe das folgende Bundle in BundleConfig.cs konfiguriert:

bundles.Add(new StyleBundle("~/bundles/css").Include(
                      "~/assets/bootstrap/css/bootstrap.css",
                      "~/assets/css/global/all.css"));

und ich verweise es mit den folgenden:

@Styles.Render("~/bundles/css")

Wenn ich im Debug-Modus bin (web.config compilationdebug="true") Es funktioniert wie erwartet, da beide CSS-Dateien wie gewohnt gerendert werden, dh:

<link href="/assets/bootstrap/css/bootstrap.css" rel="stylesheet"/>
<link href="/assets/css/global/all.css" rel="stylesheet"/>

Wie auch immer, wenn ichdebug="false" Das oben beschriebene Verhalten tritt immer noch auf, da die Dateien zwar erkannt werden, sie jedoch nur wie gewohnt gerendert werden.

Um zu bestätigen, dass das Bündeln definitiv funktionieren kann, habe ich Optimierungen in BundleConfig aktiviert, dhBundleTable.EnableOptimizations = true;

Wenn ich das oben genannte mache, wird das CSS gebündelt und wie erwartet angezeigt, dh:

<link href="/bundles/css?v=WBKHkZAJly7jUzHrVDT8SwfaQE-CA9dbOUQUlLKadNE1" rel="stylesheet"/>

BEARBEITEN

Ein paar Leute haben erwähnt, dass das Hinzufügen des folgenden Codes zu meiner BundleConfig.cs-Datei das bewirkt, wonach ich strebe:

#if DEBUG
            BundleTable.EnableOptimizations = false;
#else
            BundleTable.EnableOptimizations = true;
#endif

Ich verstehe und schätze diese Antwort. Laut Dokumentation ist das Standardverhalten der MVC-Bündelung jedoch das Bündeln im Release-Modus, nicht jedoch im Debug-Modus. Ich verstehe nicht, warum ich zusätzlichen Code hinzufügen muss, um dies zu tun, wenn es dies bereits tun sollte.

EDIT 2

Ich muss ein Geständnis machen. Es stellte sich heraus, dass ich die Datei web.config aus dem Ordner Views geöffnet hatte und nicht die Hauptdatei web.config. Ich habe die Einstellung in der web.config geändert und das funktioniert gut für mich. Ich beschuldige ReSharper

Antworten auf die Frage(12)

Ihre Antwort auf die Frage