15

Quando eseguo la mia app ASP.NET MVC 4 nella modalità versione, i pacchetti stanno ancora emettendo i file js non miniati e separati, invece di raggrupparlo e ridurlo in un numero inferiore di file JavaScript in bundle.L'esecuzione di un'app ASP.NET MVC 4 in modalità di rilascio non raggruppa e minimizza i file js

Qualche idea?

Cordiali saluti, il rilascio di configurazione:

<?xml version="1.0"?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <system.web> 
    <compilation xdt:Transform="RemoveAttributes(debug)" /> 
    </system.web> 
</configuration> 
+0

[Forse questo ti aiuterà] (http://stackoverflow.com/a/11956652/703607) – Verkion

risposta

35

Grazie al commento di aleyush che Web.release.config viene utilizzato solo durante la pubblicazione dell'app, e non durante l'esecuzione a livello locale, sono stato in grado di risolvere il problema aggiungendo le seguenti righe al file BundleConfig.cs:

#if !DEBUG 
BundleTable.EnableOptimizations = true; 
#endif 

Poiché la modalità Debug definisce la costante DEBUG e durante la modalità di rilascio non è definita, questa linea verrà eseguita solo durante la modalità di rilascio. (Potete provarlo impostando un punto di interruzione)

+0

Grazie. Questa risposta dovrebbe essere accettata. – Hooch

+0

evviva, funziona bene – FutuToad

2
  1. Nulla viene fornito in bundle o ridotte di se il debug è impostata su true nel file web.config in modo che si può facilmente eseguire il debug l'uscita.

  2. Se si desidera ignorare questo, basta aggiungere la seguente riga di codice al file BundleConfig:

    BundleTable.EnableOptimizations = true;

+0

l'attributo debug è impostato su false: RemoveAttributes (debug) – FutuToad

+6

Web.release.config viene utilizzato solo quando si pubblica il tuo sito web. http://blogs.msdn.com/b/webdev/archive/2010/10/26/asp-net-web-projects-web-debug-config-amp-web-release-config.aspx – aleyush

0

Questo ha funzionato per me

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

VS ti chiederà se vuoi abilitare il debug quando corri, scegli no e questo funzionerà! – rkawano

0

mio fagotto era troppo grande. Ho dovuto scomporlo in parti più piccole e ha funzionato bene. Forse alcune variabili sono in conflitto dopo la minificazione.

mettere questa riga alla fine del tuo bundleconfig solo per prova ...

BundleTable.EnableOptimizations = true; 

Se si apre il file minified, si vedrà qualcosa di simile.

/* Minification failed. Returning unminified contents. 
    (5079,1-2): run-time warning JS1195: Expected expression: . 
    (5080,18-19): run-time warning JS1004: Expected ';': : 
    (5084,18-19): run-time warning JS1004: Expected ';': : 
    (5091,18-19): run-time warning JS1004: Expected ';': : 
    (5095,20-21): run-time warning JS1197: Too many errors. The file might not be a JavaScript file: ; 
..... 

Abbattere il pacchetto, è possibile isolare il problema.

Spero che questo possa aiutare qualcuno.