Как обслуживать пакеты из другого приложения с помощью ASP.NET Bundling?
Мое решение состоит из нескольких веб-приложений, которые используют один и тот же статический контент.
Недавно я использовал Microsoft ASP.NET Optimization Framework для объединения этих файлов.
Проблема в том, что у меня есть только один файл Global.asax, где я регистрирую все пакеты, например:
var jqueryBundle = new ScriptBundle("~/Scripts/jquery");
jqueryBundle.Include(new string[] {
"~/static/js/jQuery/jquery-1.11.2.js",
"~/static/js/jQuery/jquery-ui.js"});
Тогда на моей главной странице у меня есть:
<asp:PlaceHolder ID="phBundle" runat="server">
<%: System.Web.Optimization.Scripts.Render("~/Scripts/jquery") %>
</asp:PlaceHolder>
Чтобы ссылаться на эти файлы в любом другом приложении, я должен использовать полный путь:
<%: System.Web.Optimization.Scripts.Render("/websites/MainApp/Scripts/jquery") %>
Проблема заключается в том, что при работе в режиме отладки статические файлы второго приложения отображаются в виде пакетов, а не в виде отдельных / отдельных файлов.
Кроме того, при работе в режиме выпуска файлы извлекаются без хэша (то есть, если они кэшируются, они не будут обновляться).
Я хочу решить эту проблему, не копируя все статические файлы между каждым проектом и регистрируя их индивидуально в Global.asax (в настоящее время только основное приложение имеет Global.asax).