我的解决方案包含几个共享相同静态内容的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和 不是单个/分隔文件。
此外,在发布模式下运行时,文件是在没有哈希的情况下获取的(意味着如果它们被缓存,则不会更新)
我想解决这个问题,而不是在每个项目之间复制所有静态文件并在Global.asax中单独注册它们(目前只有主应用程序有一个Global.asax)