gpt4 book ai didi

c# - 使用 MS 捆绑的空捆绑

转载 作者:行者123 更新时间:2023-11-30 12:46:29 24 4
gpt4 key购买 nike

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

http://site/Content/surveycss?

这可能是什么原因造成的?

更新

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

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

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

到:

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

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

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

更新 2

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

更新 3

这个问题刚刚开始出现在开发服务器上,该开发服务器未与未使用 dotless 的 bundle 进行负载平衡

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

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

更新 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,""

想法?

最佳答案

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

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

关于c# - 使用 MS 捆绑的空捆绑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20135051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com