2014-01-21 50 views
4

我想創建一個JS和CSS文件的捆綁。文件夾結構我已經是這樣的:Css和Js捆綁,IController異常

    1. 腳本
      1. Ç
    2. 內容
      1. CSS
        1. ACSS
        2. BCSS
        3. CSS
      2. IMG

我摘錄了一些幫助的形式MVC Central並添加以下代碼到我的項目:

bundles.Add(new ScriptBundle("~/bundles/A/AAA").Include(
        "~/Scripts/A/jquery-{version}.js"); 
bundles.Add(new ScriptBundle("~/bundles/B/BBB").Include(
        "~/Scripts/A/jquery-{version}.js"); 
bundles.Add(new StyleBundle("~/Content/CSS/ACSS").Include(" 
        ~/Content/CSS/ACSS/MyCss-*")); 

但是it'ss返回404異常:

System.Web.HttpException(0X80004005):用於路徑控制器 '/捆綁/ A/AAA' 沒有找到,或者不執行一個IController。

編輯:我已經在Global.asax文件中註冊我的包。所以至少我不會犯一個男生錯誤。

BundleConfig.RegisterBundles(BundleTable.Bundles); 

我做錯了什麼導致這個錯誤?

+0

的可能重複[捆綁失敗,因爲路徑誤認爲是控制路徑] (http://stackoverflow.com/questions/20195254/bundling-fails-because-path-mistaken-for-a-controller-path) – CodeCaster

+1

不知道爲什麼這個編輯被接受...已經使問題更難回答。 – Rushyo

+0

@CodeCaster,我不會讓那個男生出錯。 – user3106936

回答

3

我有一個類似的問題,最終它似乎沒有被調用System.Web.Optimization.PreApplicationStartCode.Start方法,所以bundle的路徑仍然由正常的MVC路由處理。

我此修復程序是手動調用它在該網站的的Global.asax.cs文件的Application_Start方法:

protected void Application_Start(object sender, EventArgs e) 
{ 
    //other code startup code here 

    System.Web.Optimization.PreApplicationStartCode.Start(); 
} 

這樣的包傳入的請求是由System.Web.Optimization處理.BundleHandler ProcessRequest方法。

對於在代碼中的引擎蓋下是如何工作的更詳細的研究(或應該做......)這是值得在這裏:http://beletsky.net/2012/04/new-in-aspnet-mvc4-bundling-and.html