【问题标题】:Empty Bundle using MS Bundling使用 MS 捆绑的空捆绑
【发布时间】:2013-12-06 18:06:08
【问题描述】:

我正在使用 asp.net mvc4 以及 MS 使用 System.Web.Optimization 库 (1.1.0) 和使用 dotless 的自定义 LessTransform 提供的内置捆绑和缩小。该网站托管在 IIS 7 中。我的问题是网站上的捆绑包间歇性地是空的,这导致网站加载很奇怪。

http://site/Content/surveycss?

这是什么原因造成的?

更新

  1. 我了解到,如果 less 编译器遇到错误,它可能会导致一个空包。我测试了 less 的错误,没有。

  2. 我发现捆绑包配置为使用内容目录的方式可能存在问题,因此我将其更改为:

        bundles.Add(new StyleBundle("~/Content/bootstrap")
            .Include(...));
    

到:

        bundles.Add(new StyleBundle("~/cssbundles/bootstrap")
            .Include(...));

重新部署应用程序后,问题似乎得到了解决。然而,它又发生了。该设置是具有 2 个 IIS 服务器的负载平衡器。今天,我登录到服务器 1 并通过 IIS 浏览了该站点,并且加载正常。

登录到服务器 2 并通过 IIS 浏览网站会出现捆绑问题。

更新 2

测试资源可能正在使用的想法。我尝试删除导致问题的捆绑包中较少的文件。较少的文件已成功删除。恢复 .less 文件后,直接浏览到服务器时问题就消失了。

更新 3

这个问题刚刚开始出现在没有使用不使用 dotless 的包进行负载平衡的开发服务器上

    bundles.Add(new StyleBundle("~/cssbundles/bootstrap")
        .Include("~/Content/bootstrap/bootstrap.css"));

这是由于 nuget 包升级和文件不再位于它被引用的位置引起的。我仔细检查了所有其他捆绑包,以确保文件仍然存在于它们被引用的位置并且它们确实存在,所以这不是问题。

更新 4

将日志记录添加到无点配置并收到此消息:

06-12-2013 16:08:07.814,10.183.130.143,demo.app.com,/cssbundles/bundlecss?v=WN4weCPcGs3GJ_Hgsm2B7qNotYNgbrMS6xwEt8SWK6M1,user@email.com,"
directive block with unrecognised format on line 1:
   []: /beginning of file
  [1]: @v: WN4weCPcGs3GJ_Hgsm2B7qNotYNgbrMS6xwEt8SWK6M1;
       ^
  [2]: @import ""~/Content/variables.less"";",Error,""

想法?

【问题讨论】:

  • 你解决过这个问题吗?它现在发生在我身上,我在网上找不到任何东西。
  • 我认为这是无点解析器中的错误,无法支持某些内容或其他内容。我最终从 dotLess 切换到 Bundles Transformer:bundletransformer.codeplex.com

标签: c# css asp.net-mvc-4 asp.net-optimization dotless


【解决方案1】:

之所以发生这种情况 (v=[no value]),是因为 .less 文件上的 Build Action 值被意外设置为 None。发生这种情况是因为文件以不寻常的方式添加到项目中,然后重命名为.less。由于 VS.NET 最初并不知道文件类型,因此它将Build Action 的属性设置为none

确保.less 文件的Build Action 配置设置为Compile,从而允许实际文件包含在构建中。这也是为什么问题不会出现在本地,因为它会出现,但一旦部署它就会丢失。

【讨论】:

  • 我知道这已经很老了,我正在处理未回答的问题,以便在适用的地方标记答案。我检查了这些文件,它们都被标记为内容,一些被标记为总是复制,而另一些则被标记为从不复制。与总是复制/编译相比,复制永远不会导致这个问题吗?
  • 是 - 检查以下内容以获取描述参考:stackoverflow.com/questions/145752/…
  • 标记为答案,因为我不再有权访问该问题,并且我知道过去更改构建操作已解决了类似问题。
猜你喜欢
  • 1970-01-01
  • 2013-12-29
  • 2017-08-04
  • 2012-06-21
  • 1970-01-01
  • 1970-01-01
  • 2013-09-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多