Abilita raggruppamento e minimizzazione in modalità debug in ASP.NET MVC 4


112

Non posso credere di non riuscire a trovare altre domande su questo, ma: come si abilita il raggruppamento in modalità di debug? So come è abilitato per la modalità di rilascio, ma in modalità di debug non riesco a trovare un modo per abilitare il raggruppamento.

È anche possibile o mi sto perdendo qualcosa?

Risposte:


214

Puoi abilitarlo aggiungendo

BundleTable.EnableOptimizations = true;

nel metodo RegisterBundles (classe BundleConfig nella cartella App_Start).

controlla http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification per maggiori informazioni

Puoi anche cambiare il tuo web.config:

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

Ma questo disabiliterebbe completamente la modalità di debug, quindi consiglierei la prima opzione.

Infine, per ottenere il meglio da entrambi i mondi, usa la direttiva del compilatore #if in questo modo:

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

4
Vorrei fare un ulteriore passo avanti e aggiungere una sezione di configurazione personalizzata al tuo web.config (o almeno una voce di AppSetting.) In questo modo, puoi abilitare / disabilitare selettivamente le ottimizzazioni senza dover eseguire una ricostruzione.
— Joe the Coder

1
o usa le istruzioni #if DEBUG& #if !DEBUGprecompilatore
— Liam

Tieni anche presente che questo sovrascrive la debug="true"configurazione, quindi le ottimizzazioni sono sempre abilitate o disabilitate se codifichi questo valore
— Liam

1
Oppure usa "verbose" MVC comeif (HttpContext.Current.IsDebuggingEnabled) { BundleTable.EnableOptimizations = false; } else { BundleTable.EnableOptimizations = true; }
— Tiramonium

se ti piace l'opzione di configurazione web puoi anche impostare più configurazioni web per configurazione in modo che la configurazione web di debug sia vera e il rilascio sarebbe falso docs.microsoft.com/en-us/aspnet/web-forms/overview/deployment/…
— Matthew Ellison

11

aggiungere BundleTable.EnableOptimizations = true;in Application_Start()modo di Global.asaxlima


-2

In Global.asax aggiungi 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

Il sito ufficiale di MS afferma che durante il debug non è possibile abilitarlo. Penso che il motivo sia che è più facile eseguire il debug mentre è disabilitato. Se vuoi testare l'Impact sulla tua applicazione devi impostarlo <compilation debug="true" />nel Web.config

@ Hebe: per citare la pagina MS

È facile eseguire il debug di JavaScript in un ambiente di sviluppo (dove l'elemento di compilazione nel file Web.config è impostato su debug = "true") perché i file JavaScript non sono raggruppati o minimizzati.


Nel mio caso, volevo semplicemente eseguire il debug del codice back-end C # e, a causa del modo in cui la nostra applicazione è configurata, abbiamo bisogno del raggruppamento per funzionare affinché tutti i fogli di stile e gli script vengano caricati correttamente.
— MLowijs

3
@Ennosuke - Sebbene possa essere più facile eseguire il debug, a volte ci sono bug Javascript causati dal processo di minimizzazione che richiedono di essere in grado di eseguire gli script minimizzati localmente.
— Joe the Coder
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.