7
votes

ASP.NET MVC 4 est contenant des fichiers JS en mode débogage

"Le problème est que, par défaut, ASP.NET MVC ne porte pas les fichiers CSS et JS dans le mode de débogage. Mais nos fichiers CSS et JS sont emballés dans le mode de débogage."

Pour une raison quelconque, tous les fichiers CSS et JS sont groupés en mode débogage. Cela a commencé il y a quelques jours. Nous avons une grande équipe avec plusieurs développeurs et il est difficile de découvrir ce qui a changé ces derniers jours car il existe plusieurs modifications soumises au référentiel. Cependant, je n'ai trouvé aucun changement significatif dans le Bundleconfig et Global.Asax.cs.

Lorsque l'application est en mode de débogage, BunduTletable.EnableOptimizations renvoie un faux.

À ma compréhension lorsque le débogage est défini sur TRUE, alors le groupement ne se produit pas.

Jusqu'à présent, je n'ai pas trouvé une seule occurrence de ce problème sur Google. Est-ce un problème très unique?

Idéalement au lieu d'une solution de contournement, je voudrais le réparer. Trouver la cause est le problème réel ici. Tous les pointeurs sur l'endroit où je devrais commencer à chercher le correctif serait apprécié. Merci.

edit: Ma question est similaire à la même chose que ASP.NET MVC 4 application avec groupement et minirographie, pourquoi la minéculation est-elle activée en mode de débogage? Quelqu'un s'il vous plaît supprimer la "Cette question peut déjà avoir une réponse ici:" Tag. Dans mon cas, les chemins de paquet commencent déjà par un "~"

Modèle: @ styles.Render ("~ / content / css") @ Scrips.Render ("~ / Bundles / JS")

Bundle config: Bundles.add (nouveau paquet ("~ / contenu / CSS"). Inclure ("~ / Contenu / *. CSS")); Bundles.add (nouveau paquet ("~ / Bundles / JS"). Inclure ("~ / Scripts / MyProj. *"));


8 commentaires

"Lorsque l'application est en mode de débogage, BunduTletable.EnableOptimizations renvoie un faux" ... Est-ce ce que vous vouliez écrire, car c'est le comportement attendu (regroupement éteint en débogage)


En mode débogage Bundletable.EnableOptimizations renvoie false. Nous devons également devenir faux de BunduTable.Enableoptimizations quand dans le débogage. Le problème est que, par défaut, ASP.NET MVC ne fait pas que les fichiers CSS et JS en débogage. Mais nos fichiers CSS et JS sont emballés.


Vérifiez les modifications apportées à web.config, qui peut remplacer certaines valeurs par défaut.


Je n'ai trouvé aucune modification dans le web.config, global.asax et la configuration de Bundle. C'est ce qui me surprend le plus.


Dupliqué possible de ASP .NET MVC 4 APP avec groupement et minéculation, pourquoi la minéculation est-elle activée en mode de débogage?


duplicaté possible de Activer le groupement et la minification dans Mode de débogage dans ASP.NET MVC 4


Pas vraiment liam. Tout comme tout le monde, vous avez mal interprété cette question.


J'ai exactement le même problème, avez-vous pu trouver une solution jusqu'à présent?


4 Réponses :


9
votes

Essayez d'ajouter ceci dans votre global Application_Start () CODE>

protected void Application_Start()
{
     AreaRegistration.RegisterAllAreas();
     WebApiConfig.Register(GlobalConfiguration.Configuration);
     FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
     RouteConfig.RegisterRoutes(RouteTable.Routes);
     BundleConfig.RegisterBundles(BundleTable.Bundles);
     AuthConfig.RegisterAuth();

     BundleTable.EnableOptimizations = false;
}


4 commentaires

La solution que vous avez écrite est de grouper les fichiers CSS et JS en mode de débogage. Je pense que je n'ai pas fait assez clairement la confusion. Dans notre cas, nos fichiers sont regroupés en mode de débogage et nous ne voulons pas que cela se produise. Nous n'avons pas défini bundletable.enableOptimization = true; n'importe où dans le système.


Oh je vois, mal interprété ça. Essayez de définir cela sur FAUX l'explicitement.


La valeur BundleTable.EnableOptimization est déjà fausse chaque fois que je le contrôle dans la fenêtre immédiate ou dans la fenêtre de la montre.


Merci, j'utilise le modèle ASP.NET pour une application à la page unique et je devais la définir pour le commenter, c'était vrai par défaut. // Définissez les allées topliminisations à FALSE pour le débogage. Pour plus d'informations, `// visite go.microsoft.com/fwlink/?linkid=301862 < / a> BunduTletable.EnableOptimization = TRUE; `



2
votes

Essayez de dépanner en dehors de MVC spécifiquement.

Ce problème transcende-t-il maintenant votre l'équipe entière ou juste votre machine? Si c'est toute l'équipe au moins, vous savez que le changement s'est produit quelque part dans le cycle de validation.

Avez-vous reconstruit la solution? Nettoyé correctement? Exprimez-vous IIS, IIS Express ou Cassini? Êtes-vous absolument certain que le site / la construction que vous exécutez dans le débogueur n'est pas en mode de sortie? Vous pouvez déboguer une construction spécifique qui n'est pas modifiée via le pipeline de construction (les constructions en échec relient définitivement sous cette catégorie).

J'utilise VS 2010 et MVC 4 et par défaut en mode de débogage, je ne vois absolument aucun regroupement. Je n'ai pas à définir explicitement rien. Si vous voyez différemment, quelque chose doit évidemment en rendre compte car ce n'est pas un comportement normal.

J'ai le sentiment que votre meilleure approche est le plus difficile: détendez vos commits. Faites une copie de votre répertoire de travail et revenez à un moment avant que cela ne soit arrivé. Vérifiez le problème ne se produit pas dans cette construction, ne présumez pas seulement. Maintenant, Checkout un commit à mi-chemin entre ce point à temps et maintenant. Testez à nouveau. Si la construction est toujours bonne, coupez le temps en deux et répétez. Une fois que vous avez frappé la question, vous savez que la commission qu'elle a été introduite est quelque part entre votre dernier "bon" commit et celui que vous testez actuellement. Cette technique simplifie grandement l'isolation d'un problème à une validation spécifique. Je ne fais presque jamais qu'un commettre une commission à la fois sauf si je ne suis pas sûr du code ou que j'ai déjà une bonne indication de l'endroit où cela pourrait être.


4 commentaires

Malheureusement, cette réponse ne m'a pas vraiment aidé. J'ai rencontré le même problème - Usiung vs 2013 Express pour web et MVC 5. Je n'ai reçu que ma seule machine et je ne peux pas revenir à une version de travail précédente car je n'ai utilisé que le groupement pour la première fois - avec le même comportement que décrit dans la question.


@ 1576573987 - Vous pourriez peut-être préciser rapidement pourquoi cette réponse vous a été utile? Ce serait très apprécié. Merci beaucoup !!!


@ 1576573987 - En fait, je viens de créer un nouveau projet (hors de la boîte avec le modèle MVC 5) et remarqua également le même comportement. Je n'ai donc jamais touché web.config, global.asax ou tout autre fichier. Cela ressemble plus à un paramètre sur le PC de développement qui oblige le regroupement à basculer vers la minibation même si le projet est en mode de débogage.


Ceci est simplement une série de suppositions



3
votes

Pour moi, le problème était dans le web.config "Débogu" a été défini sur false . XXX


1 commentaires

Merci pour la réponse @ Brettof86. Le débogage dans mon application est défini sur true.



1
votes

Dans mon cas, j'avais utilisé

@Scripts.Render("~/Bundles/scriptname")


1 commentaires

Dans mon cas, c'était le numéro de version. Je l'ai changé à partir de @ scripts.render (string.format ("~ / Bundles / js / js / js / js / js / js / js / js / js / js", versionNumber)) to @ scripts.Render (" ~ / Bundles / JS / Script ") . Juste au cas où cela aide quelqu'un.