Ho appena migrato un progetto ASP.NET MVC 3 in MVC 4/.NET 4.0 e installato il pacchetto NuGet Microsoft.AspNet.Web.Optimization
per supportare il raggruppamento e la minimizzazione di CSS e JavaScript. Ho praticamente lavorato in bundle/minification, il problema è che è sempre abilitato. Anche se l'app è in modalità di debug, come configurato in Web.config, tutti i JavaScript inclusi sono miniati. Come si può vedere dal frammento di XML di seguito, la modalità di debug è abilitata in web.config:Applicazione ASP.NET MVC 4 con bundling e minification, perché la minificazione è abilitata in modalità di debug?
<system.web>
<compilation debug="true" targetFramework="4.0">
...
</compilation>
...
</system.web>
Un estratto della mia configurazione bundle:
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 include sono resi in HTML come ad esempio:
<link href="/content/css" rel="stylesheet" type="text/css">
<script src="/bundles/jquery" type="text/javascript"></script>
Qualcuno ha qualche idea sul motivo per cui la minificazione viene abilitata nel mio caso? Sono in perdita per ciò che mi manca qui. Per risolvere il problema ho creato un'applicazione Internet ASP.NET MVC 4 di prova e ho potuto verificare che CSS/JavaScript non ha non in modalità debug per questo progetto.
EDIT:
Nel mio file _Layout.cshtml rendo gli stili/script come questo:
@Styles.Render("content/css")
@Scripts.Render("bundles/jquery")
Grazie a Hao, mi rendo conto che ho dimenticato di precedere i nomi del bundle con "~ /".
Questa domanda può essere utile. [Come disabilitare la minzione Javascript/CSS in ASP.NET MVC 4] (http://stackoverflow.com/questions/9373071/how-to-disable-javascript-css-minification-in-asp-net-mvc-4? rq = 1) – jrummell
@jrummell Le risposte a questa domanda sembrano essere la disattivazione incondizionata della minificazione? Voglio solo che la minificazione condizionale standard funzioni. – aknuds1