tutorial pages net mvc entre ejemplos diferencias asp asp.net-mvc-4 asp.net-optimization

asp.net mvc 4 - pages - ¿Por qué ResolveBundleUrl no funciona para carpetas personalizadas?(MVC Beta 4)



web forms c# tutorial (2)

En Application_Start en Global.asax.cs use BundleTable.Bundles.EnableDefaultBundles(); en lugar de BundleTable.Bundles.RegisterTemplateBundles();

Si observa la fuente de RegisterTemplateBundles , puede ver que en realidad solo busca (y agrega) archivos js y css específicos. EnableDefaultBundles por otro lado, es bastante similar a cuando agrega sus propios paquetes.

Desde una nueva aplicación web ASP.NET MVC 4 Beta, estoy reorganizando mis carpetas para que coincidan con el ejemplo VidPub.Web de Rob Conery

Específicamente, esto significa que la estructura de directorio final para el contenido se parece a esto

VidPub.Web | ---Public | |---Images |--- *.png |---javascripts |--- *.js |---stylesheets |----themes |---base |--- images |--- *.css |----site.css

Sin embargo, cuando cambio las siguientes líneas en _Layout.cshtml

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

a

<link href="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl( "~/Public/stylesheets/css")" rel="stylesheet" type="text/css" /> <link href="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl( "~/Public/stylesheets/themes/base/css")" rel="stylesheet" type="text/css" /> <script src="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl( "~/Public/javascripts/js")"></script>

Termino con absolutamente nada en el HTML resultante.

<link rel="stylesheet" type="text/css" /> <link rel="stylesheet" type="text/css" /> <script></script>

¿Por qué no está recogiendo los archivos en sus nuevas ubicaciones?


Parece que tiene que registrar su propio paquete cuando usa directorios no predeterminados. Agregué lo siguiente a Application_Start y solucionó el problema

var bundle = new Bundle("~/Public/stylesheets/css", new CssMinify()); bundle.AddDirectory("~/Public/stylesheets", "*.css", true); BundleTable.Bundles.Add(bundle); bundle = new Bundle("~/Public/javascripts/js", new JsMinify()); bundle.AddDirectory("~/Public/javascripts", "*.js", true); BundleTable.Bundles.Add(bundle);