Обходной путь для объединения с поставщиками виртуального пути

Я обнаружил, что в ASP.NET MVC 4 вы не можете определить набор Javascript или CSS, если их виртуальный путь управляется VirtualPathProvider. Я имею в виду, что если каталог "~/Static/" сопоставлен с VPP, вы не можете Include("~/Static/Stylesheets/themes/dark-blue.css"), потому что он просто и незаметно выйдет из строя.

Из здесь и здесь действительно похоже, что это поведение среды выполнения по умолчанию, поскольку оно в основном разрешает виртуальный путь в файловой системе, а не использует конвейер ASP.NET. И, к счастью, это будет реализовано в следующем MVC.

В любом случае, поскольку это выглядит как распространенная проблема, и поскольку я собираюсь хранить статические ресурсы вне проекта (в конечном итоге в CDN Azure, но мне все еще нужно разрабатывать и отлаживать), нашел ли кто-нибудь обходной путь, позволяющий ASP.NET Web? Оптимизация поиска ресурсов по их виртуальным путям?


person usr-local-ΕΨΗΕΛΩΝ    schedule 29.12.2012    source источник
comment
Аналогичный вопрос здесь: stackoverflow.com/questions/12100524/ - OP упоминает виртуальные каталоги IIS, но я считаю, что они одинаковы моего дела   -  person usr-local-ΕΨΗΕΛΩΝ    schedule 30.12.2012


Ответы (1)


Поддержка VirtualPathProvider есть в версии Optimization 1.1-alpha1. Вы пробовали эту версию? Он должен поддерживать разрешение файлов через ваш VPP.

person Hao Kung    schedule 02.01.2013
comment
Я знаю, что вы работаете над System.Web.Optimization: хорошая работа! Как вы думаете, можно ли использовать альфа-версию в продакшене? (не могу найти отставание для альфы). У вас есть дата выхода 1.1? потому что меня действительно интересует функция VirtualPathProvider. - person Cybermaxs; 12.02.2013