2014-01-21 5 views
4

Я пытаюсь создать пакеты JS и CSS-файлов. Структура папок у меня есть, как это:Css и Js bundling, IController Exception

  1. ~
    1. Сценарии
      1. Б
      2. С
    2. Content
      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): контроллер для пути '/ связки/А/ААА' не найден или не реализует IController.

Edit: я зарегистрировал свои Связки в 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 никогда не вызывался, поэтому пути к пакетам все еще обрабатывались обычной маршрутизацией MVC.

Исправление для меня было вручную вызвать его в методе Application_Start из Global.asax.cs файла сайта:

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