You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET MVC(.NET Framework4.6.1)使用LessBundle类型加载失败求助

解决dotless类型加载错误的方案

看起来你遇到的问题是由于包版本不匹配导致的:你安装的是dotless.Core 1.6.0.1,但错误提示找不到1.5.3.0版本中的dotless.Core.configuration.WebConfigConfigurationLoader类型——这个类型在1.6版本的dotless中已经被移除或重构了,而System.Web.Optimization.Less可能依赖旧版本的dotless类型,从而引发冲突。

下面是分步解决方法:

1. 统一所有相关包的版本

首先卸载现有冲突的包,然后安装版本完全匹配的组合:
打开Package Manager Console,执行以下命令:

# 卸载所有相关包
Uninstall-Package dotless.Core -Force
Uninstall-Package dotless.AspNetHandler -Force
Uninstall-Package System.Web.Optimization.Less -Force

# 安装匹配的1.6.0版本(确保版本号一致)
Install-Package dotless.Core -Version 1.6.0
Install-Package dotless.AspNetHandler -Version 1.6.0
Install-Package System.Web.Optimization.Less -Version 1.6.0

注意:如果1.6.0版本仍有问题,可以尝试更低的兼容版本,比如1.5.3,确保System.Web.Optimization.Less和dotless系列包版本完全对应。

2. 修正Web.config中的dotless配置

1.6版本的dotless配置和旧版本有所不同,确保你的Web.config包含正确的节点:

<configuration>
  <configSections>
    <!-- 替换旧的配置节处理程序 -->
    <section name="dotless" type="dotless.Core.configuration.DotlessConfigurationSectionHandler, dotless.Core" />
  </configSections>
  
  <!-- dotless基础配置 -->
  <dotless minifyCss="true" cache="true" />

  <system.web>
    <!-- IIS经典模式下的Handler -->
    <httpHandlers>
      <add path="*.less" verb="GET" type="dotless.AspNet.LessHttpHandler, dotless.AspNetHandler" />
    </httpHandlers>
  </system.web>

  <system.webServer>
    <!-- IIS集成模式下的Handler -->
    <handlers>
      <add name="dotless" path="*.less" verb="GET" type="dotless.AspNet.LessHttpHandler, dotless.AspNetHandler" preCondition="integratedMode" />
    </handlers>
  </system.webServer>
</configuration>

3. 添加程序集绑定重定向(可选但推荐)

如果仍存在版本冲突,添加绑定重定向强制所有对dotless.Core的请求指向你安装的版本:

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="dotless.Core" publicKeyToken="96b446c9e63eae34" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-1.6.0.1" newVersion="1.6.0.1" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>

4. 清理并重新生成项目

  • 删除项目根目录下的bin和obj文件夹,彻底清除旧的程序集
  • 重新生成解决方案,确保所有引用都是最新安装的版本

完成以上步骤后,你的LessBundle应该可以正常工作了。

内容的提问来源于stack exchange,提问作者Neeraj Kumar Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:47:51