我试图在我的新项目中少用。我已经安装了dotLess和System.Web.Optimization.Less packeges(如Yet Another "Add LESS to your ASP.NET MVC Project" Post中所述),本地一切正常。但是当我发布项目时,IIS7服务器响应空css文件/Content/Main/site?v=
这是我的web.config
...
<configSections>
<section name="dotless" type="dotless.Core.configuration.DotlessConfigurationSectionHandler, dotless.Core" />
</configSections>
<system.web>
<httpHandlers>
<add path="*.less" verb="GET" type="dotless.Core.LessCssHttpHandler, dotless.Core" />
</httpHandlers>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="dotless" path="*.LESS" verb="*" type="dotless.Core.LessCssHttpHandler,dotless.Core" resourceType="File" preCondition=""/>
</handlers>
</system.webServer>
<dotless minifyCss="false" cache="true" web="false" />
我的BundleConfig.cs
bundles.Add(new LessBundle("~/Content/Main/site").Include("~/Content/Main/Site.less"));
当我将css扩展名附加到我的Site.less文件(Site.less.css
)时,服务器会以内容(/Content/Main/site?v=K-FFpFNtIXPUlQamnX3qHX_A5r7TM2xbAgcuEmpm3O41
)进行响应,但它的所有变量等等仍然会更少。
与Bundle Transformer: Sass and SCSS
我错过了什么?
答案 0 :(得分:1)
当你到了
/内容/主要/网站?V = K-FFpFNtIXPUlQamnX3qHX_A5r7TM2xbAgcuEmpm3O41
然后这意味着捆绑工作正常。因此,Site.less
中可能存在导致问题的原因。需要注意的一点是相对网址。例如,如果您的css中有图像
.bacon {
background-image: url(bacon.png);
}
捆绑包将从捆绑包的名称中取~/Content/Main
来查找此内容。 (/site
很好,可以是任何东西,它只是捆绑的名称)
要尝试的第一件事是取出任何导入,图像等,看看它是否正确捆绑。您可以通过在bundle config中启用优化来在本地开发版本上执行此操作。
BundleTable.EnableOptimizations = true
答案 1 :(得分:0)
解决此问题的另一种方法是删除对System.Web.Optimization.Less
和dotLess
的依赖,并使用免费的Visual Studio扩展https://github.com/madskristensen/WebCompiler来预编译较少的css(有和没有缩小)。