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?