.NET缩小并在运行时添加新的包

时间:2015-07-06 06:48:41

标签: c# .net asp.net-mvc asp.net-mvc-4 bundling-and-minification

我已经阅读了其他一些帖子并尝试了一些不同的方法,但都没有奏效。我想在不重新启动网站的情况下重建.NET Minification BundleTable,这样我就可以在新的包名称中添加带有新CSS文件的新文件夹。

我从控制器方法尝试了以下内容:

BundleTable.Bundles.Clear();
BundleTable.Bundles.ResetAll();
//this is where the magic happens
//var context = new BundleContext(new HttpContextWrapper(System.Web.HttpContext.Current), BundleTable.Bundles, );
BundleConfig.RegisterBundles(BundleTable.Bundles);

BundleConfig.RegisterBundles包含我内心需要的所有“bundles.Add(new StyleBundle("~/css/_layoutCSS").Include("~/css/_layout.css"));”等。

但是,如果我添加新的捆绑包,尝试在网站中按名称引用它们会产生404 Not Found javascript控制台错误,表明找不到捆绑包。如果我重新启动网站,它会再次运行。

如何强制.NET刷新缩小捆绑列表?有人说,也许你需要以某种方式替换上下文,但是我无法做到(它是未使用的注释的一部分)。

1 个答案:

答案 0 :(得分:0)

您是否尝试在不清除或重置且不调用RegisterBundles的情况下添加到BundleTable?像这样:

public ActionResult About()
    {
        BundleTable.Bundles.Add(new StyleBundle("~/testcss/StyleSheet1").Include(
                  "~/testcss/StyleSheet1.css"));

        return View();
    }