0

我意識到這是通過網絡問的,但我似乎無法找到關於如何解決此問題的明確答案。使用.net捆綁和縮小使用.net丟失了CSS內的圖像引用

這是我們如何捆綁

// iPortal Specific 
bundles.Add(new StyleBundle("~/bundles/css/MyCSS") 
      .Include("~/Content/css/MyCSS.css") 
      .Include("~/Content/css/MyCSSMedia.css")); 

然後_layouts頁面內: -

@Styles.Render("~/bundles/css/MyCSS") 

其中 「〜捆/ CSS/MyCSS」 是一個虛擬目錄,在它不存在在服務器上。

我們對CSS結構是: -

Content 
    CSS 
     MyCSS.css 
     _Images 

其中 「_images」 文件夾

內MyCSS.css引用圖片我們已經使用

.Include("~/Content/css/MyCSS.css", new CssRewriteUrlTransform()) 

沒有工作嘗試。

,也試過

public class CssRewriteUrlTransformWrapper : IItemTransform 
{ 
    public string Process(string includedVirtualPath, string input) 
    { 
     return new CssRewriteUrlTransform().Process("~" + VirtualPathUtility.ToAbsolute(includedVirtualPath), input); 
    } 
} 

再次,沒有工作。

其他唯一的解決方案,我們發現是改變的虛擬目錄,以匹配物理目錄,這並沒有真正覺得不對勁,

難道我們失去了一些東西?

回答

0

我認爲,當你提取的HTML生成的css文件,它看起來像這樣:

束/ CSS

雖然圖像是:

內容/圖片

CSS指向bundles/_Images,這顯然不存在。

你有兩個選擇,我認爲:

  1. 移動圖像到頂層,所以你的CSS可以點存在(這都將工作捆綁與否)
  2. 更換圖片的路徑在CssRewriteUrlTransformWrapper../Content/_Images
+0

謝謝你的CSS,這會工作爲這個特定的文件,但是,我們也使用引導程序和字體真棒,與我們正在經歷同樣的問題(因爲你提到的事實它看着捆綁/ xxxx的任何東西在嵌入式) – Simon