Как использовать ASP.Net MVC 4 для объединения файлов LESS в режиме выпуска?
Я пытаюсь добавить файлы LESS в свой веб-проект и вызвать функцию связывания MVC 4 в библиотеку dotLess, чтобы превратить LESS в CSS, затем минимизировать результат и передать его браузеру.
Я нашел пример наСайт ASP.NET (под заголовкомLESS, CoffeeScript, SCSS, Sass Bundling.). Это дало мнеLessTransform
класс, который выглядит так:
public class LessTransform : IBundleTransform
{
public void Process(BundleContext context, BundleResponse response)
{
response.Content = dotless.Core.Less.Parse(response.Content);
response.ContentType = "text/css";
}
}
и эта строка в моемBundleConfig
класс:
bundles.Add(new Bundle(
"~/Content/lessTest",
new LessTransform(),
new CssMinify()).Include("~/Content/less/test.less"));
наконец, у меня есть следующая строка в моем _Layout.cshtml, в<head>
:
@Styles.Render("~/Content/lessTest")
Если у меня есть сайт в режиме отладки, это отображается в браузере:
<link href="/Content/less/test.less" rel="stylesheet"/>
Применяются правила в файле .less, и по этой ссылке видно, что LESS был правильно преобразован в CSS.
Однако, если я переведу сайт в режим релиза, это будет выглядеть так:
<link href="/Content/less?v=lEs-HID6XUz3s2qkJ35Lvnwwq677wTaIiry6fuX8gz01" rel="stylesheet"/>
Правила в файле .less:не применяется, потому что переход по ссылке дает ошибку 404 из IIS.
Так что, похоже, что-то не так с комплектацией. Как мне заставить это работать в режиме релиза, или как узнать, что именно идет не так?