Подтвердить что ты не робот

ResolveBundleUrl не разрешает все файлы?

Я новичок в MVC, поэтому подумал, что начну новый проект и попробую некоторые из новых функций в MVC4. У меня есть два css файла в моем каталоге Content, normalise_mini и site.css. Когда я использую следующий код:

<link href="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Content/css")" rel="stylesheet" type="text/css" />

Мне нужен только мой файл site.css не мой файл нормализации. В начале моего приложения у меня есть следующее:

protected void Application_Start()
{

    // Remove all other view engines except razor:
    ViewEngines.Engines.Clear();
    ViewEngines.Engines.Add(new RazorViewEngine());

    AreaRegistration.RegisterAllAreas();

    RegisterGlobalFilters(GlobalFilters.Filters);
    RegisterRoutes(RouteTable.Routes);

    BundleTable.Bundles.RegisterTemplateBundles();
    BundleTable.Bundles.EnableDefaultBundles();
}

Нужно ли создавать набор для каждого файла css (как этот человек делает)? Или он должен просто найти все файлы css автоматически (что я ожидал бы по умолчанию). Возможно, стоит отметить, что я начал этот проект как пустой веб-сайт на основе механизма просмотра Razor (который на самом деле не был пустым вообще:/)

Заранее спасибо


Обновление

Согласно опубликованной ссылке, мне нужно прокомментировать строку, которая регистрирует пакеты шаблонов. Например:

protected void Application_Start()
{

    // Remove all other view engines except razor:
    ViewEngines.Engines.Clear();
    ViewEngines.Engines.Add(new RazorViewEngine());

    AreaRegistration.RegisterAllAreas();

    RegisterGlobalFilters(GlobalFilters.Filters);
    RegisterRoutes(RouteTable.Routes);

    //BundleTable.Bundles.RegisterTemplateBundles();  // This is not needed
    BundleTable.Bundles.EnableDefaultBundles();
}

Теперь это работает. Мои мысли состоят в том, что две линии должны сосуществовать без каких-либо проблем. Я думаю, это по дизайну, но это плохой дизайн?

4b9b3361

Ответ 1

Кто-то еще ответил на этот вопрос:

http://forums.asp.net/t/1776599.aspx/1?MVC+4+0+Bundling+Minification+not+working+

UPDATE:

Кто-то выразил обеспокоенность по поводу того, что ссылки может быть недостаточно, чтобы ответить на вопрос. Хотя я по-прежнему считаю, что кто-то, кто посещает эту страницу, должен прочитать связанный поток, короткий ответ - удалить строку BundleTable.Bundles.RegisterTemplateBundles() из Application_Start() и заменить ее на BundleTable.Bundles.EnableDefaultBundles()

Ответ 2

Примечание. EnableDefaultBundles был удален с версии 1.0.0 RTM версии Optmization, вы все равно можете получить эквивалентную функциональность, настроив собственный DynamicFolderBundles. Но в целом это может вызвать проблемы (обычно в файлах, которые не были захвачены, когда вы добавляете массив *.js, обычно возникают зависимости), поэтому мы перешли к явной установке пакета и от EnableDefaultBundles.

Для лучших современных документов/учебников: Документация Codeplex