2017-10-13 4 views
1

J'ai créé un site web Asp.Net en C# en utilisant le framework .net 4.6.1. Le site fonctionne parfaitement mais quand j'essaie d'optimiser la charge CSS en utilisant le composant d'optimisation web je reçois un 404 à partir de la requête css url.weboptimization css bundle non trouvé (404)

Veuillez noter que j'ai aussi le bundle js qui fonctionne parfaitement.

dans la page .aspx J'ai dans la tête:

<webopt:BundleReference runat="server" Path="~/stylesheets" /> 

le bundle.config est à la racine de la structure du site et son contenu est:

<?xml version="1.0" encoding="utf-8" ?> 
<bundles version="1.2"> 
    <styleBundle path="~/stylesheets"> 
    <include path="~/Bootstrap/css/bootstrap.css" /> 
    <include path="~/css/style.css" /> 
    <include path="~/css/custom.css" /> 
    </styleBundle> 
</bundles> 

Inspecter la demande de réseau Je vois que la demande de feuilles de style enter image description here

enter image description here

où la base site est plutôt le faisceau js

fichier Global.asax:

void Application_Start(object sender, EventArgs e) 
{ 
    RouteConfig.RegisterRoutes(RouteTable.Routes); 

    BundleTable.EnableOptimizations = true; 
    BundleConfig.RegisterBundles(BundleTable.Bundles); 
} 

web.config:

<system.web> 
    <authentication mode="None"/> 
    <compilation debug="true" targetFramework="4.6.1"> 
    ... 
<httpRuntime targetFramework="4.6.1"/> 
     <pages enableEventValidation="true"> 
      <namespaces> 
      <add namespace="System.Web.Optimization"/> 
      <add namespace="Microsoft.AspNet.Identity"/> 
      </namespaces> 
      <controls> 
      <add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt"/> 
      </controls> 
     </pages> 
     ... 
    </system.web> 
    <system.webServer> 
    <modules> 
     <remove name="FormsAuthentication"/> 
     <remove name="BundleModule"/> 
     <add name="BundleModule" type="System.Web.Optimization.BundleModule"/> 
    </modules> 
    ... 
    </system.webServer> 

J'ai un site identique à la même web.config , même configuration de routage avec EnableFriendlyUrls (True) où l'ensemble CSS est correctement fourni.

  • Il ne fonctionne pas à la fois localement sur VS2017 et sur le serveur de production.
  • Il n'y a pas de dossier ou d'autres pages nommé « feuilles de style »
  • Les fichiers CSS sont bien formés
  • J'ai essayé aussi avec un seul fichier CSS, mais je reçois toujours un 404.
  • Le routage pour toutes les autres pages et le bundle JS fonctionne bien

Pourquoi l'ensemble CSS ne fonctionne pas? Y at-il quelque chose que je peux faire pour comprendre où est le problème?

+0

Cela peut-il être lié à un problème de chemin relatif/absolu? – ahmet

+0

@ahmet J'ai vérifié près d'un million de fois lettre par lettre – Giox

Répondre

0

Après plusieurs tests, j'ai constaté que chaque fois que je fais une modification dans le fichier css bundle.config, je dois fermer et redémarrer Visual Studio. Redémarrer IIS Express ne suffit pas.

Sur le serveur de production, je dois arrêter et relancer le site Web, en recyclant le pool d'applications.

+0

et je peux dire que le redémarrage de l'application-piscine et le site ne fonctionne pas toujours ... (cache sur mon navigateur est désactivé, donc je ne prends pas en cache paquet) – Giox