2014-02-21 9 views
1

Я использую пакет 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/ части

ответ

-1

Вместо того чтобы обеспечить виртуальный путь, попробуйте использовать физический путь с следующим методом

Server.MapPath().

+0

Путь Bundle всегда должен быть относительным URL-адресом приложения. Не является физическим путем, иначе возникает исключение. Кроме того, пакет не является фактическим файлом, находящимся где-то на диске. Это контент, который создается и возвращается к ответу «на лету», когда браузер узла получает доступ к URL-адресу. –

Смежные вопросы