0

我使用包管理器安装 Squishit.Less 0.9.3,我有两个文件

  1. style.less -@import "test.less";
  2. test.less - body{background-color: pink;}.

在我的页面中,我有:

<%= Bundle.Css().Add("~/less/style.less").ForceRelease().Render("~/less/combined.css") %>

但我得到的输出是:@import"test.less";- 由于某种原因,较少的处理器没有尝试导入?

我试过ProcessImports了,但这没有任何区别。

4

1 回答 1

2

我刚刚在一个示例项目中验证它可以正常工作。

您不需要调用 ProcessImports - 较少的预处理器应该自动执行此操作。ProcessImports 用于标准 CSS 中的 @imports,默认情况下不处理。

我怀疑发生的事情是 NuGet 没有添加注册预处理器的文件。因此,较少的预处理器永远不会被调用。如果您在 App_Start 下查看,您应该会看到一个名为 SquishItLess.cs 的文件,其中包含以下内容:

[assembly: WebActivator.PreApplicationStartMethod(typeof(MyProject.App_Start.SquishItLess), "Start")]

namespace MyProject.App_Start
{
    using SquishIt.Framework;
    using SquishIt.Less;

    public class SquishItLess
    {
        public static void Start()
        {
            Bundle.RegisterStylePreprocessor(new LessPreprocessor());
        }
    }
}

如果此文件丢失,您可以添加它或在 Global.asax.cs 的 Application_Start 方法中添加 Bundle.RegisterStylePreprocessor 行。

如果您要安装到 VB 项目,这是一个已知问题 ( https://github.com/jetheredge/SquishIt/issues/232 ),将在 .net 3.5 支持上拔下插件时解决。

于 2013-11-26T19:57:57.333 回答