Когда объединение / минификация включена, некоторые из моих пакетов, похоже, имеют недопустимый URL-адрес в браузере (заканчивающийся на /), а IIS выдает запрещенную ошибку 403, как будто пытаясь перечислить содержимое папки.
Нет никакой разницы в том, как настроены мои пакеты - это не .min.css, права доступа правильные и т. Д.
.net
asp.net-mvc
razor
asp.net-mvc-4
bundling-and-minification
Кирен Джонстон
источник
источник
Ответы:
Мои пакеты были зарегистрированы как пути, соответствующие реальной папке в решении, например
~/Content/forum
.Это отлично работает, когда объединение отключено (пакет включен правильно!), Но не когда включен пакет.
Решение состоит в том, чтобы изменить зарегистрированное имя пакета, чтобы оно отличалось от всего, что существует в файловой системе.
источник
~/Content/myfolder/bundle
если CSS нижеContent/myfolder
"Change the registered name of the bundle"
что ты имеешь в виду? - Я предположил название пакета, который мы назначаем. Like (выделенная жирным шрифтом) ->bundles.Add(new StyleBundle(
«~ / Content / css»).Include("~/Content/site.css"));
В моем случае пакет был указан как каталог,
@Scripts.Render("~/scripts")
поэтому IIS не знал, как обслуживать фактический файл js, я изменил имя пакета, чтобы оно представляло файл javascript,@Scripts.Render("~/scripts.js")
и это исправило его. То же самое и с моим набором стилей.источник
Проблема заключается в соглашении об именах, которое ваше имя пакета должно быть
Это решило мою проблему.
источник