Позвольте мне поделиться решением для моего случая. Мой проект ASP.NET MVC имеет следующую структуру каталогов:
- Содержание
- Темы
- база
- изображения
- JQuery-ui.css
- Другие каталоги
Когда я запускаю приложение локально через Visual Studio, в jquery-ui.css я могу ссылаться на значки, используя следующий URL: url ("images / icon1.png") . Но когда я запускаю приложение на сервере Azure, я должен ссылаться на этот значок с помощью: url ("themes / base / images / icon1.png") . Оказалось, что настоящий «рабочий» / «текущий» каталог для jquery-ui.css - это каталог Content . Это потому, что в cshtml я загружаю jquery-ui.css, используя пакет, который я создаю следующим образом:
bundles.Add(new StyleBundle("~/Content/cssjqryUi").Include("~/Content/themes/base/jquery-ui.css"));
Кажется, что VS "суперинтеллектуален" и ищет упомянутые изображения также внутри подкаталогов.
Решением может быть использование внутри файла jquery-ui.css абсолютного URL-адреса к изображениям: url ("/ Content / themes / base / images / icon1.png") (или правильный путь относительно каталога Content в моем случае, т.е. url ("themes / base / images / icon1.png"), как я уже упоминал выше) или для создания пакета с более вложенным путем:
bundles.Add(new StyleBundle("~/Content/themes/base/cssjqryUi").Include("~/Content/themes/base/jquery-ui.css"));
Другое (хуже в моем opinoin) решение - загрузить файл css в cshtml, используя элемент <link>
:
<link rel="stylesheet" href="~/Content/themes/base/jquery-ui.css" />