Как обслуживать пакеты из другого приложения с помощью 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") %>

Проблема заключается в том, что при работе в режиме отладки статические файлы второго приложения отображаются в виде пакетов, а не в виде отдельных / отдельных файлов.

Кроме того, при работе в режиме выпуска файлы извлекаются без хэша (то есть, если они кэшируются, они не будут обновляться).

Основное приложение Получить статические файлы в 1-м приложении

ВТОРИЧНОЕ ПРИЛОЖЕНИЕ Получить статические файлы во 2-м приложении

Я хочу решить эту проблему, не копируя все статические файлы между каждым проектом и регистрируя их индивидуально в Global.asax (в настоящее время только основное приложение имеет Global.asax).

0 ответов

Другие вопросы по тегам