我遇到这个烦人的错误,告诉我.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文件)。

07-24 09:44