5

Sto utilizzando la RC e ho controllato che tutto sia aggiornato tramite NuGet. Nel mio global.asax.cs Ive ha ottenuto:Perché il raggruppamento delle risorse viene reindirizzato nella mia app ASP MVC4?

BundleTable.Bundles.AddDefaultFileExtensionReplacements(); 
BundleTable.Bundles.AddDefaultIgnorePatterns(); 
BundleTable.Bundles.AddDefaultFileOrderings(); 

Bundle scripts = new Bundle("~/Scripts"); 
scripts.IncludeDirectory("~/Scripts", "*.js"); 
BundleTable.Bundles.Add(scripts); 

Bundle css = new Bundle("~/Content/css"); 
css.IncludeDirectory("~/Content/css", "*.css", false); 
BundleTable.Bundles.Add(css); 

Ho provato un paio di diverse configurazioni di questo senza alcun miglioramento.

Poi, nel mio layout Ive ha ottenuto:

<link href="@BundleTable.Bundles.ResolveBundleUrl("~/Content/css")" rel="stylesheet" type="text/css" /> 
<script src="@BundleTable.Bundles.ResolveBundleUrl("~/Scripts")"> </script> 

al caricamento della pagina sue ottenuto decenti gli URL che cercano:

<link href="/Content/css?v=QAsFYXHCbnaU70oGVxpgi9py9iKQrT9C4BVNdHa7xoI1" rel="stylesheet" type="text/css" /> 

Ma questo url reindirizza a:

/Content/css/ 

che restituisce un errore 404 non trovato ...

bundle redirection...

Qualcuno ha qualche idea?

risposta

3

La logica del modulo bundle che decide se gestire o meno una richiesta, non richiederà le richieste di acquisizione a file o directory esistenti. Ecco perché le richieste di bundle non funzionano quando vivono nello stesso percorso virtuale di una directory (o file) esistente.

6

Il percorso virtuale ~/Script e ~/Content/css esiste già sul disco, quindi è necessario renderli un po 'di URL virtuale, diciamo ~/Scripts/js e ~/Content/styles che è, va bene ora

Bundle scripts = new Bundle("~/Scripts/js"); 
scripts.IncludeDirectory("~/Scripts", "*.js"); 
BundleTable.Bundles.Add(scripts); 

Bundle css = new Bundle("~/Content/styles"); 
css.IncludeDirectory("~/Content/css", "*.css", false); 
BundleTable.Bundles.Add(css); 

Anche in MVC4 Routing, Pacchetti, e filtri di configurazione è stato spostato al

~/App_Start/(RouteConfig, BundleConfig, FilterConfig) Cs

modo da verificare che hai quelli, se è così allora scrivi qui le tue configurazioni.

+2

Sembra che fossero i percorsi virtuali. Sono sicuro di aver visto alcuni esempi usando questi percorsi! – Tim