Использование и маршрутизация файла Less в layout.cshtml в ASP.NET Core 2

Я использовал шаблон для раздела администратора (шаблон администратора начальной загрузки) в своем проекте и установил его из Bower, и я применил ASP.NET Core 2.

Когда я запускаю проект, я получаю сообщение об ошибке:

FileError: 'http://localhost:52125/lib/bootstrap-admin-template/public/assets/less/theme.less' не найден (404)

в теме.less

Но файл theme.less существует в пути!! Я не знаю, почему браузеры не могут распознать файл.

Для маршрутизации файла theme.less я сделал:

<link rel="stylesheet/less" type="text/css" href="~/lib/bootstrap-admin-template/public/assets/less/theme.less">

Как я могу решить эту проблему?

Ошибка

Путь к файлу theme.less

Древовидная структура файлов и папок


person Said Roohullah Allem    schedule 01.04.2018    source источник
comment
См. stackoverflow.com/questions/20587765/.   -  person seven-phases-max    schedule 02.04.2018
comment
@seven-phases-max: см. stackoverflow.com/a/49611852/1817640.   -  person Said Roohullah Allem    schedule 02.04.2018
comment
@seven-phases-max: в ASP.NET Core 2 нет файла web.config. Тогда это решение бесполезно.   -  person Said Roohullah Allem    schedule 02.04.2018


Ответы (2)


В документации в промежуточном программном обеспечении StaticFiles:

Если пользователь запрашивает файл неизвестного типа, ПО промежуточного слоя для статических файлов возвращает ответ HTTP 404 (не найдено).

Кажется, это то, что здесь происходит. Если вы хотите обслуживать меньше, вам нужно добавьте сопоставление для него:

var provider = new FileExtensionContentTypeProvider();
provider.Mappings[".less"] = "plain/text";

app.UseStaticFiles(new StaticFileOptions
{
    ContentTypeProvider = provider
});
person Chris Pratt    schedule 02.04.2018
comment
+rep спасибо, братан, ты спас мой день !!! Я перепробовал более 10 различных решений, но ваше сработало.... Спасибо, agian - person dlammy; 22.08.2019

Судя по всему, Less файлы нельзя использовать напрямую в asp.net core 2 проектах. Сначала его нужно скомпилировать. По этой ссылке вы можете понять, как скомпилировать файл Less.

https://docs.microsoft.com/en-us/aspnet/core/client-side/less-sass-fa

person Said Roohullah Allem    schedule 02.04.2018