Увімкніть поєднання та мінімізацію в режимі налагодження в ASP.NET MVC 4


112

Я не можу повірити, що не можу знайти інших питань з цього приводу, але: як можна вмикати пакет в режимі налагодження? Я знаю, як увімкнено режим випуску, але в режимі налагодження я не можу знайти спосіб увімкнути пакет.

Це навіть можливо чи я щось пропускаю?

Відповіді:


214

Ви можете ввімкнути це, додавши

BundleTable.EnableOptimizations = true;

у вашому методі RegisterBundles (клас BundleConfig у папці App_Start).

перевірити http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification для отримання додаткової інформації

Ви також можете змінити свій web.config:

<system.web>
    <compilation debug="false" />
</system.web>

Але це повністю відключить режим налагодження, тому я рекомендував би перший варіант.

Нарешті, щоб отримати найкраще з обох країн, використовуйте директиву компілятора #if таким чином:

#if DEBUG
            BundleTable.EnableOptimizations = false;
#else
            BundleTable.EnableOptimizations = true;
#endif

4
Я б зробив це на крок далі і додавав спеціальний розділ конфігурації до вашого web.config (або, як мінімум, запис у AppSetting.) Таким чином, ви можете вибірково включати / вимикати оптимізацію, не потребуючи повторної перебудови.
Джо Кодер

1
або скористайтеся заявками #if DEBUG& #if !DEBUGпрекомпіляторами
Liam

Також майте на увазі, що це переосмислює debug="true"конфігурацію, тому оптимізація завжди вмикається або вимикається, якщо ви жорстко кодуєте це значення
Liam

1
Або використовувати "багатослівний" MVC типуif (HttpContext.Current.IsDebuggingEnabled) { BundleTable.EnableOptimizations = false; } else { BundleTable.EnableOptimizations = true; }
Тирамоній

якщо вам подобається варіант веб-конфігурації, ви також можете встановити кілька веб-конфігурацій за конфігурацію, щоб налагодження веб-конфігурації було б істинним, а випуск був би помилковим docs.microsoft.com/en-us/aspnet/web-forms/overview/deployment/…
Меттью Еллісон

11

додати BundleTable.EnableOptimizations = true;в Application_Start()метод Global.asaxфайлу


-2

У Global.asax додати BundleConfig.RegisterBundles(BundleTable.Bundles);

 protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles); // add this
        }

-5

В офіційному MS сайті держава під час налагодження це не представляється можливим , щоб включити його. Я думаю, що причина полягає в тому, що налагоджувати простіше, поки він відключений. Якщо ви хочете перевірити вплив на вашу програму, вам доведеться встановити<compilation debug="true" /> в Web.config

@Hebe: цитування сторінки MS

Налагодити JavaScript в середовищі розробки (де Елемент компіляції у файлі Web.config встановлено на налагодження = "true"), оскільки файли JavaScript не поєднуються та не мінімізуються.


У моєму випадку я просто хотів налагоджувати запуск C #-коду, і через те, як налаштовано наше додаток, нам потрібна група для роботи, щоб усі таблиці стилів та сценарії завантажувалися належним чином.
MLowijs

3
@Ennosuke - Хоча це може бути простіше налагоджувати, іноді є помилки Javascript, викликані процесом мінімізації, які вимагають, щоб ви могли запускати мінімізовані сценарії локально.
Джо Кодер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.