2013-11-22 2514 views
3

我正在使用asp.net mvc4和內置的捆綁和縮小由MS提供的使用System.Web.Optimization庫(1.1.0)與自定義LessTransform使用無點。該網站託管在IIS 7中。我的問題是,間歇性地在網站上這個包是空的,這會導致網站加載所有奇怪的東西。使用MS捆綁的空捆綁

http://site/Content/surveycss? 

這是什麼原因造成的?

UPDATE

  1. 我看,如果少編譯器遇到錯誤時可能會導致一個空包。我測試過的錯誤較少,而且沒有。

  2. 我發現有可能與該束配置爲使用內容目錄,所以我改變了它的方式的一個問題:

    bundles.Add(new StyleBundle("~/Content/bootstrap") 
         .Include(...)); 
    

到:

 bundles.Add(new StyleBundle("~/cssbundles/bootstrap") 
      .Include(...)); 

重新部署應用程序後,似乎可以解決問題。但是,它再次發生。該設置是一個負載均衡器,具有2個IIS服務器。今天,我登錄到服務器1,並通過IIS瀏覽網站,它的加載正常。

登錄到服務器2並通過IIS瀏覽網站會產生綁定問題。

更新2

要測試時,想到的資源可能會在使用中。我試圖刪除導致問題的捆綁包中包含的文件較少。成功刪除的文件越少。在恢復.less文件時,直接瀏覽到服務器時問題就消失了。

更新3

這個問題剛開始不與捆綁負載均衡開發服務器上突然出現未使用帶點

bundles.Add(new StyleBundle("~/cssbundles/bootstrap") 
     .Include("~/Content/bootstrap/bootstrap.css")); 

這是因爲NuGet包引起的升級並且文件不再位於被引用的位置。我仔細檢查了所有其他包以確保文件仍然存在於引用它們的位置,並且它們的確存在,所以這不是問題。

更新4

添加記錄到帶點配置和收到此消息:

06-12-2013 16:08:07.814,10.183.130.143,demo.app.com,/cssbundles/bundlecss?v=WN4weCPcGs3GJ_Hgsm2B7qNotYNgbrMS6xwEt8SWK6M1,[email protected]," 
directive block with unrecognised format on line 1: 
    []: /beginning of file 
    [1]: @v: WN4weCPcGs3GJ_Hgsm2B7qNotYNgbrMS6xwEt8SWK6M1; 
    ^
    [2]: @import ""~/Content/variables.less"";",Error,"" 

的思考?

+0

你有沒有解決過這個問題?它現在發生在我身上,而我在網上找不到任何東西。 – mmeasor

+0

我相信這是無點解析器無法支持某些東西或其他的錯誤。我最終從dotLess切換到Bundles Transformer:http://bundletransformer.codeplex.com/ – drneel

回答

0

發生此確切情況(v=[no value])是因爲.less文件上的Build Action值意外設置爲None。發生這種情況是因爲該文件以不同尋常的方式添加到項目中,然後重命名爲.less。由於VS.NET最初並不知道文件類型,因此將其設置爲Build Actionnone的屬性。

確保.less文件的Build Action配置設置爲Compile,從而允許實際文件包含在構建中。這也是爲什麼問題不會在本地發生,因爲它會出現,但一旦部署它就會丟失。

+0

我知道這是超級老,我正在經歷未解答的問題,在適用的地方標記答案。我檢查了這些文件,並將它們全部標記爲內容,其中一些標記爲始終複製,另一些標記爲從未複製。複製永遠不會造成這個問題,而不是永遠複製/編譯? – drneel

+0

是的 - 請檢查以下參考說明:http://stackoverflow.com/questions/145752/what-are-the-various-build-action-settings-in-visual-studio-project-properties – atconway

+0

標記爲回答是因爲我再也無法獲得這個問題,並且我知道改變構建行動在過去已經修復了類似的問題。 – drneel

0

你是否需要去掉變換中的包哈希查詢字符串?這就是v = WN4we ...的原因。

+0

爲什麼它被插入到捆綁包中?爲什麼點無法解析它,如果它只是一個較小的變量? – drneel