0

我知道還有其他問題,但沒有人有我需要的答案。ASPESS MVC的LESS CSS資源的絕對路徑

只需要能夠強制一個絕對路徑在一些MVC頁面中包含的LESS,以便圖像(等)被正確拾取。

[websiteroot] 
----Content 
--------img 
------------<image files> 
--------bootstrap 
------------<bootstrap files> 
--------site.LESS 
--------Site_styles.LESS 
----Views 
--------Shared 
------------_Layout.cshtml 

它甚至不是在一個包,它只是直接計入_Layout.cshtml作爲

@Styles.Render("~/Content/Site_styles.less"); 

在Site_styles.less我

.carousel-image-1 
{ 
    width: 100%; 
    background: url('img/banner1.jpg') no-repeat; 
} 

,但我不能讓它是絕對的,即

"~/Content/img/banner1.jpg" 

是呈現爲

background: url('/Content/img/sodexo_banner1.jpg') 

在它的事項的情況下,其他LESS [自舉等] 是在像這樣

BundleTable.EnableOptimizations =假束;

bundles.UseCdn = true; 
    var cssTransformer = new CssTransformer(); 
    var jsTransformer = new JsTransformer(); 
    var nullOrderer = new NullOrderer(); 

    var cssBundle = new StyleBundle("~/Content/css"); 
    cssBundle.Include("~/Content/Site.less"); 
    cssBundle.Include("~/Content/bootstrap/bootstrap.less"); 

    //cssBundle.Include("~/Content/Site_variables.less"); 
    cssBundle.Transforms.Add(cssTransformer); 
    cssBundle.Orderer = nullOrderer; 
    bundles.Add(cssBundle); 

回答

0

使用CssRewriteUrlTransform

從文檔:

重新寫入的網址是絕對如此的資產仍將捆綁後纔會發現。

bundles.Add(new StyleBundle("~/Content/css") 
     .Include("~/Content/Site.less") 
     .Include("~/Content/bootstrap/bootstrap.less", new CssRewriteUrlTransform())); 
+0

我沒有 - 它並沒有區別 - 可能是因爲我的Site_styles.less腳本是** **不捆綁。正如剛纔提到的。但給我一秒,我會包括它在捆綁然後嘗試CssRewriteUrlTransform ... – kpollock 2014-10-20 10:52:15

+0

不,放入cssBundle.Include(「〜/ Content/Site_styles.less」,新的CssRewriteUrlTransform()); 仍然給出背景:url('/ Content/img/banner1.jpg') – kpollock 2014-10-20 10:53:23