Приложение ASP.NET MVC 4 с пакетированием и минификацией. Почему минимизация включена в режиме отладки?

Я только что перенес проект ASP.NET MVC 3 в MVC 4/.NET 4.0 и установил пакет NuGet Microsoft.AspNet.Web.Optimizationдля поддержки связывания и минимизации CSS и JavaScript. У меня в значительной степени работает связывание/минимизация, проблема в том, что всегда включен. Несмотря на то, что приложение находится в режиме отладки, как настроено в Web.config, все включения JavaScript минимизированы. Как видно из приведенного ниже фрагмента XML, режим отладки включен в Web.config :

<system.web>
  <compilation debug="true" targetFramework="4.0">
   ...
  </compilation>
 ...
</system.web>

. Фрагмент конфигурации моего пакета:

public class BundleConfig
{
    public static void RegisterBundles(BundleCollection bundles)
    {
       ...

        bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-1.*",
                    "~/Scripts/jquery.form.js",
                    "~/Scripts/jquery.format.js"));

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

       ...
    }
}

Включения CSS/JavaScript отображаются в HTML, например:

<link href="/content/css" rel="stylesheet" type="text/css">
<script src="/bundles/jquery" type="text/javascript"></script>

Кто-нибудь знает, почему минификация включена в моем случае? Я в недоумении, что мне здесь не хватает. Чтобы устранить неполадки, я создал тестовое интернет-приложение ASP.NET MVC 4 и смог убедиться, что CSS/JavaScript не минимизируется в режиме отладки для этого проекта.

РЕДАКТИРОВАТЬ:

В моем файле _Layout.cshtml я отображаю стили/скрипты следующим образом:

@Styles.Render("content/css")
@Scripts.Render("bundles/jquery")

Благодаря Хао я понял, что забыл добавить к именам пакетов префикс «~/».

19
задан RickAndMSFT 26 August 2012 в 17:36
поделиться