asp mvc IIS7 less / sass空文件

时间:2014-05-13 12:41:09

标签: asp.net-mvc iis-7 less dotless

我试图在我的新项目中少用。我已经安装了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

相同

我错过了什么?

2 个答案:

答案 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.LessdotLess的依赖,并使用免费的Visual Studio扩展https://github.com/madskristensen/WebCompiler来预编译较少的css(有和没有缩小)。