我正在为 ASP.NET 使用最新的 BundleTransformer。
我有一个非常简单的捆绑文件,其中包含一个 LESS 文件:
var cssBundle = new CustomStyleBundle("~/Content/css/bundle").Include(
"~/Content/css/test.less");
bundles.Add(cssBundle);
我制作的 LESS 文件尽可能简单,以证明它实际上正确解释为 LESS。
.something
{
ol, ul
{
list-style: none;
}
}
当我尝试使用 V8JsEngine 时,它按预期工作(显示了相关的 web.config):
<css defaultMinifier="KryzhanovskyCssMinifier" usePreMinifiedFiles="false">
<minifiers>
<add name="KryzhanovskyCssMinifier" type="BundleTransformer.Csso.Minifiers.KryzhanovskyCssMinifier, BundleTransformer.Csso" />
</minifiers>
</css>
<csso>
<css disableRestructuring="false" />
<jsEngine name="V8JsEngine" />
</csso>
这给了我正确的 CSS:
.something ol,.something ul{list-style:none}
但是,当我切换到 MsieJSEngine
<csso>
<css disableRestructuring="false" />
<jsEngine name="MsieJsEngine" />
</csso>
我得到以下奇怪不正确的 CSS - 完全去掉了 UL。
.something ol{list-style:none}
我只是无法理解这怎么可能。它已被正确解释为 LESS,但从列表中完全删除了 UL。顺便说一句,如果我把它做成一个没有类的纯 css 文件,.something
我会得到同样的错误结果。
幸运的是,它似乎与 V8JsEngine 一起工作得很好,所以我可以继续,但我在这里发布这个希望能帮助其他人,因为我很好奇我是否做错了什么。
文件版本:
BundleTransformer.Core - 1.9.3.0
BundleTransformer.Csso - 1.9.1.0
BundleTransformer.Less - 1.9.1.0
BundleTransformer.MicrosoftAjax - 1.9.1.0