如何使用ASP.NET Bundling从另一个应用程序中提供bundle?

时间:2015-11-07 19:58:24

标签: c# asp.net system.web.optimization

我的解决方案包含几个共享相同静态内容的Web应用程序。

我最近一直在使用Microsoft ASP.NET优化框架来存储这些文件。

问题是我只有一个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") %>

这个问题是,在调试模式下运行时,第二个应用程序静态文件显示为bundle和 不是单个/分隔文件。

此外,在发布模式下运行时,文件是在没有哈希的情况下获取的(意味着如果它们被缓存,则不会更新)

MAIN APP Get static files on the 1st application

第二个APP Get static files on the 2nd application

我想解决这个问题,而不是在每个项目之间复制所有静态文件并在Global.asax中单独注册它们(目前只有主应用程序有一个Global.asax)

0 个答案:

没有答案