Я использую пакет nuget Microsoft.AspNet.Web.Optimization для комплектации и минимизации css и js.Bundling - Ошибка пути приложения
создать связку на этом пути ~/bundles/shared.css
BundleTable.Bundles.Add(
new StyleBundle("~/bundles/shared.css")
.Include(
"~/Style/DevexpressAdapter.css",
"~/Style/Site.css",
"~/js/jquery-ui-1.10.4.custom/css/flick/jquery-ui-1.10.4.custom.min.css"));
При запуске проекта на локальном хосте (с CTRL + F5 из Visual Studio) он хорошо работает. Если я ударил http://localhost/bundles/shared.css
, тогда я получаю миниатюрный и комбинированный css для всех файлов, которые я добавил в комплект.
Но в опубликованном месте оно не работает.
Сайт работает по адресу http://192.168.1.8/MyApp/
.
Когда я смотрю на html, URL-адрес укорененного пучка src="/MyApp/bundles/shared.css"
. Но если я ударил http://192.168.1.8/MyApp/bundles/shared.css
, я получаю ресурс, который не найден. Если я также ударил http://192.168.1.8/MyApp/MyApp/bundles/shared.css
, я получаю ту же ошибку.
Что происходит и как решить эту проблему? Я ничего не могу тронуть на рабочем сервере. Я могу копировать файлы только в общую папку, к которой у меня есть доступ.
Кажется, что адрес связки не устранен правильно. я бы ожидать, что URL Визуализированного Bundle не будет containt на /MyApp/
части
Путь Bundle всегда должен быть относительным URL-адресом приложения. Не является физическим путем, иначе возникает исключение. Кроме того, пакет не является фактическим файлом, находящимся где-то на диске. Это контент, который создается и возвращается к ответу «на лету», когда браузер узла получает доступ к URL-адресу. –