Wie verwende ich ASP.Net MVC 4, um WENIGER Dateien im Release-Modus zu bündeln?

Ich versuche, WENIGER Dateien in meinem Webprojekt zu haben und die MVC 4-Bündelungsfunktionalität in die dotLess-Bibliothek aufzurufen, um das WENIGER in CSS umzuwandeln. Reduzieren Sie dann das Ergebnis und übergeben Sie es an den Browser.

Ich habe ein Beispiel auf der gefundenASP.NET-Site (unter der ÜberschriftWENIGER, CoffeeScript, SCSS, Sass-Bündelung.). Das hat mir eine gegebenLessTransform Klasse, die so aussieht:

public class LessTransform : IBundleTransform
{
    public void Process(BundleContext context, BundleResponse response)
    {
        response.Content = dotless.Core.Less.Parse(response.Content);
        response.ContentType = "text/css";
    }
}

und diese Zeile in meinemBundleConfig Klasse:

bundles.Add(new Bundle(
    "~/Content/lessTest", 
    new LessTransform(), 
    new CssMinify()).Include("~/Content/less/test.less"));

Endlich habe ich die folgende Zeile in meiner _Layout.cshtml, in der<head>:

@Styles.Render("~/Content/lessTest")

Wenn sich die Site im Debug-Modus befindet, wird dies im Browser gerendert:

<link href="/Content/less/test.less" rel="stylesheet"/>

Die Regeln in der .less-Datei werden angewendet. Wenn Sie diesem Link folgen, wird angezeigt, dass LESS korrekt in CSS umgewandelt wurde.

Wenn ich die Site jedoch in den Veröffentlichungsmodus versetze, wird Folgendes gerendert:

<link href="/Content/less?v=lEs-HID6XUz3s2qkJ35Lvnwwq677wTaIiry6fuX8gz01" rel="stylesheet"/>

Die Regeln in der .less-Datei sindnicht wird angewendet, da das Folgen des Links einen 404-Fehler von IIS ergibt.

Es scheint also, dass etwas mit der Bündelung nicht stimmt. Wie bringe ich das im Release-Modus zum Laufen, oder wie finde ich heraus, was genau falsch läuft?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage