MVC4 StyleBundle nie rozwiązuje obrazów

Moje pytanie jest podobne do tego:

ASP.NET MVC 4 Minification & Background Images

Z wyjątkiem tego, że chcę trzymać się własnego pakietu MVC, jeśli mogę. Mam awarię mózgu próbującą dowiedzieć się, jaki jest prawidłowy wzór do określania pakietów stylów, takich jak samodzielne zestawy css i obrazów, takie jak interfejs użytkownika jQuery.

Mam typową strukturę strony MVC/Content/css/ który zawiera mój podstawowy CSS, taki jakstyles.css. W tym folderze css mam także podfoldery, takie jak/jquery-ui który zawiera plik CSS plus/images teczka. Ścieżki obrazu w CSS jQuery UI są względne w stosunku do tego folderu i nie chcę z nimi mieszać.

Jak rozumiem, kiedy określamStyleBundle Muszę określić ścieżkę wirtualną, która również nie pasuje do rzeczywistej ścieżki treści, ponieważ (zakładając, że ignoruję trasy do zawartości) usługi IIS spróbują rozwiązać tę ścieżkę jako plik fizyczny. Więc określam:

bundles.Add(new StyleBundle("~/Content/styles/jquery-ui")
       .Include("~/Content/css/jquery-ui/*.css"));

renderowane przy użyciu:

@Styles.Render("~/Content/styles/jquery-ui")

Widzę prośbę o:

http://localhost/MySite/Content/styles/jquery-ui?v=nL_6HPFtzoqrts9nwrtjq0VQFYnhMjY5EopXsK8cxmg1

Zwraca poprawną odpowiedź CSS. Jednak przeglądarka wysyła żądanie względnie połączonego obrazu jako:

http://localhost/MySite/Content/styles/images/ui-bg_highlight-soft_100_eeeeee_1x100.png

Który jest404.

Rozumiem, że ostatnia część mojego adresu URLjquery-ui to adres URL bez rozszerzenia, program obsługi mojego pakietu, więc widzę, dlaczego względne żądanie obrazu jest proste/styles/images/.

Więc moje pytanie jestjaki jest właściwy sposób obsługi tej sytuacji?

questionAnswers(15)

yourAnswerToTheQuestion