2015-08-27 17 views
7

Sto utilizzando Sitecore 8 (Aggiornamento 5) su .NET 4.6 e sto riscontrando un problema con Bundles che restituisce un errore 404.Sitecore 8, .NET 4.6, bundle Restituzione 404

mio punto di vista Layout:

@using Sitecore.Mvc.Presentation 
@using Sitecore.Mvc 

@model RenderingModel 

    <!DOCTYPE html> 
    <html> 
    <head> 
     <meta name="viewport" content="width=device-width" /> 
     <title>@Model.Item.Fields["Title"]</title> 
     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> 
     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css"> 
    </head> 
    <body> 
     <h1>@Html.Sitecore().Field("Title")</h1> 
     @Html.Sitecore().Placeholder("content") 

     <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js" type="text/javascript"></script> 
     <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js" type="text/javascript" defer="defer"></script> 
     <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> 
     @Scripts.RenderFormat("<script type=\"text/javascript\" src=\"{0}\" defer=\"defer\"></script>", "~/bundles/scripts/footer") 
    </body> 
    </html> 

mio /Global.asax.cs di file:

using System.Web.Mvc; 
using System.Web.Optimization; 
using Glass.Mapper.Sc; 

namespace Sitecore.Web 
{ 
    public class MvcApplication : System.Web.HttpApplication 
    { 
     protected void Application_Start() 
     { 
      AreaRegistration.RegisterAllAreas(); 
      BundleConfig.RegisterBundles(BundleTable.Bundles); 
     } 

     protected void Application_BeginRequest() 
     { 
      Sitecore.Context.Items["Disable"] = new VersionCountDisabler(); 
     } 
    } 
} 

miei /App_Start/BundleConfig.cs di file:

using System.Web.Optimization; 

public class BundleConfig 
{ 
    public static void RegisterBundles(BundleCollection bundles) 
    { 
     bundles.Add(new ScriptBundle("~/bundles/scripts/footer").Include(
      "~/Assets/js/jquery.validate.js", 
      "~/Assets/js/additional-methods.js", 
      "~/Assets/js/form.js", 
      "~/Assets/js/marketo.js" 
     )); 


     #if DEBUG 
      BundleTable.EnableOptimizations = false; 
     #else 
      BundleTable.EnableOptimizations = true; 
     #endif 
    } 
} 

La sezione <system.webServer>/modules della mia /Web.config:

<modules runAllManagedModulesForAllRequests="true"> 
    <remove name="WebDAVModule" /> 
    <add type="Sitecore.Web.RewriteModule, Sitecore.Kernel" name="SitecoreRewriteModule" /> 
    <add type="Sitecore.Nexus.Web.HttpModule,Sitecore.Nexus" name="SitecoreHttpModule" /> 
    <add type="Sitecore.Resources.Media.UploadWatcher, Sitecore.Kernel" name="SitecoreUploadWatcher" /> 
    <add type="Sitecore.IO.XslWatcher, Sitecore.Kernel" name="SitecoreXslWatcher" /> 
    <add type="Sitecore.IO.LayoutWatcher, Sitecore.Kernel" name="SitecoreLayoutWatcher" /> 
    <add type="Sitecore.Configuration.ConfigWatcher, Sitecore.Kernel" name="SitecoreConfigWatcher" /> 
    <remove name="Session" /> 
    <add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition="" /> 
    <add type="Sitecore.Analytics.RobotDetection.Media.MediaRequestSessionModule, Sitecore.Analytics.RobotDetection" name="MediaRequestSessionModule" /> 
    <add type="Sitecore.Web.HttpModule,Sitecore.Kernel" name="SitecoreHttpModuleExtensions" /> 
    <add name="SitecoreAntiCSRF" type="Sitecore.Security.AntiCsrf.SitecoreAntiCsrfModule, Sitecore.Security.AntiCsrf" /> 
    <remove name="BundleModule"/> 
    <add type="System.Web.Optimization.BundleModule" name="BundleModule"/> 
</modules> 

E, infine, le IgnoreUrlPrefixes impostazione come visualizzati /sitecore/admin/showconfig.aspx che mostra/bundle è incluso nella lista:

<!-- 
    IGNORE URLS 
      Set IgnoreUrlPrefixes to a '|' separated list of url prefixes that should not be 
      regarded and processed as friendly urls (ie. forms etc.) 

--> 
<setting name="IgnoreUrlPrefixes" value="/sitecore/default.aspx|/trace.axd|/webresource.axd|/sitecore/shell/Controls/Rich Text Editor/Telerik.Web.UI.DialogHandler.aspx|/sitecore/shell/applications/content manager/telerik.web.ui.dialoghandler.aspx|/sitecore/shell/Controls/Rich Text Editor/Telerik.Web.UI.SpellCheckHandler.axd|/Telerik.Web.UI.WebResource.axd|/sitecore/admin/upgrade/|/layouts/testing|/bundles|/Assets"/> 

UPDATE: Vedi risposta accettata sotto.

+0

Non pensare che sitecore sia ancora pronto per 4.6. Ancora non hanno fatto i test di regressione. 8.0 appena rilasciato con 4.5 e mvc 5.2. Probabilmente sarà un po 'prima che il 4.6 venga spinto (o almeno finché non è supportato). –

+0

Ho modificato il target di build su 4.5 e si verifica lo stesso comportamento. La pagina di errore 404 indica che il gestore è StaticFile, che per me sarebbe errato. –

risposta

2

Ho scoperto qual era il problema. L'attributo "inherits" del markup del mio Global.asax non corrispondeva al nome della classe nel Global.asax.cs.

+0

Ingannevole. Mi piace utilizzare WebActivatorEx come alternativa alla modifica di Global.asax. –

0

tempo per sperimentare:

  1. togliere le direttive del compilatore. <compilation debug="true|false"> dovrebbe controllarlo in fase di runtime.
  2. Rimuovere le voci web.config <module>. Ho trovato che non è stato necessario nemmeno per i progetti di Sitecore 7.2.
+0

Provato questi. Nessun cambiamento nel comportamento. –

+0

Nessuna cartella fisica denominata/bundle sul disco? –

+0

Nessuna cartella fisica denominata/bundle sul disco. –