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.