我遇到这个烦人的错误,告诉我.less文件不是样式表。哦是的
BundleTransformer.Core.Validators.InvalidAssetTypesException:这些
资产不是样式表:
“网站/内容/样式表/更少/style.less”
我有BundleTransformer.Less(作为包)。
我的BundleConfig.cs:
bundles.Add(new LessStyleBundle("~/SiteCSS").IncludeDirectory("~/Content/Stylesheets/Less", "*.less"));
我的LessStyleBundle类别:
public sealed class LessStyleBundle : StyleBundle
{
private static readonly IBundleTransform _cssTransformer = new StyleTransformer();
private static readonly IBundleTransform _cssMinify = new CssMinify();
public LessStyleBundle(string virtualPath)
: base(virtualPath)
{
Orderer = new NullOrderer();
Transforms.Add(_cssTransformer);
Transforms.Add(_cssMinify);
}
}
和布局渲染:
@Styles.Render("~/SiteCSS")
有人遇到同样的问题吗?非常感谢您的任何建议。
最佳答案
检查您的Web.config
文件。应该有以下设置:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<bundleTransformer xmlns="http://tempuri.org/BundleTransformer.Configuration.xsd">
<core ...>
<css ...>
...
<fileExtensions>
<add fileExtension=".css" assetTypeCode="Css" />
<add fileExtension=".less" assetTypeCode="Less" />
...
</fileExtensions>
...
</css>
...
</core>
</bundleTransformer>
</configuration>
另外,我也不建议编写自己的
LessStyleBundle
类。最好使用BundleTransformer.Core.Bundles.CustomStyleBundle
类并安装BundleTransformer.MicrosoftAjax模块(安装后,请阅读readme.txt
文件)。