无法获得dotLESS @import工作

Whe*_*ism 7 .net css iis less dotless

我正在努力使dotLESS @import拥有一个单独的变量文件; 我只是经常得到"变量未定义".

如果我浏览到变量配置文件,它可以工作; 如果我把变量内联在主样式表中就行了; 但是在@import中,没有骰子.我将.css和.less映射到扩展名,但是如果我只使用.less,它也不起作用.

变量文件LESS-config.less是:

/*
  .LESS VARIABLES
*/
@mbw_dark_cyan: #1293b5;
@mbw_cyan: #11add4;
@mbw_magenta: #e935da;

@control_text: #ffffff;

@action_delete: #ff5400;

@section_level1_bg: @mbw_dark_cyan;
@section_level1_fg: @control_text;

@button_bg: @mbw_dark_cyan;
@button_fg: @control_text;
@button_icon: @control_text;

@data_table_header: @mbw_cyan;

.dummy {
    color: @control_text;
}
Run Code Online (Sandbox Code Playgroud)

其呈现为:

/*
  .LESS VARIABLES
*/
.dummy {
  color: #ffffff;
}
Run Code Online (Sandbox Code Playgroud)

调用样式表main.css是:

@import (less) '/css/LESS-config';

button {
    background: @button_bg;
}
Run Code Online (Sandbox Code Playgroud)

这给出了错误:

variable @button_bg is undefined on line 4 in file '/css/main.css':
  [3]: button {
  [4]:     background: @button_bg;
       ----------------^
  [5]: }
Run Code Online (Sandbox Code Playgroud)

正如我所说的,如果我用复制和粘贴的相同变量替换导入,那么一切正常.

我已尝试在没有BOM的情况下保存,如另一个答案,但这没有帮助.

编辑,我试过:

  • 删除(少)
  • 更改为双引号
  • LESS-config如上所述,使用相对路径而不是虚拟绝对路径
  • 添加logger="dotless.Core.Loggers.AspResponseLogger" log="debug"web.config(cache已经是false)
  • 添加 debug="1"
  • 添加 debug="true"

行为绝对没有变化.

编辑2:

我创建了一个只有import语句的cut-down css; 当我浏览它时,导入的样式就在那里.但是,在刷新时,我只得到一个空白的回复.

所以它似乎与我的IIS配置/缓存有关?我已经关闭内容压缩但没有快乐; 禁用.less和.css的所有输出缓存,仍然没有快乐!

根据托尼的评论固定 ; /sf/answers/3622834001/:

这结果是一个dotLESS问题,在GitHub上跟踪:https://github.com/dotless/dotless/issues/553

完整的解决方案是:

  1. 将dotLESS升级到1.6.7版
  2. Microsoft.Extensions.DependencyInjection由于下降至1.1.1.0Method not found error
  3. 将导入的文件扩展名更改.css.less

现在一切正常.

Ton*_*zel 2

请尝试版本1.6.7,它修复了仅在第一个请求时执行导入的错误。