J'essaie d'utiliser la nouvelle fonctionnalité de regroupement dans un projet que j'ai récemment converti de MVC 3 en MVC 4 beta. Il nécessite une ligne de code dans global.asax BundleTable.Bundles.RegisterTemplateBundles();
, qui nécessite using System.Web.Optimization;
en haut.
Lorsque je fais cela, j'obtiens les lignes rouges ondulées qui disent: "Vous manquez une référence d'assemblage?" Lorsque j'essaie d'ajouter une référence et de cliquer sur l'onglet .NET dans la boîte de dialogue, trier à partir de AZ, je ne vois pas System.Web.Optimization
.
Comment ajouter cette référence à mon projet?
asp.net-mvc-4
namespaces
asp.net-optimization
Ian Davis
la source
la source
System.Web.Optimization
nœud dans mes références.Réponses:
La mise à jour
version 1.1.x est disponible, lisez les notes de publication: https://www.nuget.org/packages/Microsoft.AspNet.Web.Optimization
Le package Microsoft.Web.Optimization est désormais obsolète. Avec ASP.NET (MVC) 4 et supérieur, vous devez installer Microsoft ASP.NET Web Optimization Framework:
Installez le package à partir de nuget :
Créez et configurez des bundles dans App_Start \ BundleConfig.cs:
Appelez la fonction RegisterBundles () à partir d'Application_Start () dans votre global.asax.cs:
Dans votre view.cshtml, incluez l'espace de noms Optimization et rendez le (s) bundle (s):
Voir http://www.asp.net/mvc/overview/performance/bundling-and-minification pour plus d'informations
la source
Avec la version finale publiée d'ASP.Net MVC 4, l'approche est la suivante:
Installez Microsoft.AspNet.Web.Optimization via nuget (car il n'est pas installé par le framework)
Créez le bundle dans Global.asax Application_Start:
Ajoutez l'espace de noms "System.Web.Optimization" au web.config "Vues":
Dans votre view.cshtml, ajoutez une inclusion au bundle créé à la dernière étape:
En mode débogage, tous les fichiers de script de votre répertoire s'affichent individuellement; en mode release, ils seront regroupés et minifiés.
la source
".js"
fichiers. À l'intérieur,public static void RegisterBundles(BundleCollection bundles) { ... }
vous devriez pouvoir faire quelque chose commebundles.Add(new StyleBundle("~/CssBundle"));
ça et il saisirait tous les fichiers CSS dans votreCssBundle
dossier. Vous ne voulez pasScriptBundle
comme dans l'exemple pour les fichiers CSS.Mettez à jour (réinstallez) le paquet depuis nuget, vous pouvez utiliser la commande:
update-Package Microsoft.AspNet.Web.Optimization -reinstall
la source
Dans mon cas, c'était un problème avec tfs, car tfs exclut les binaires, donc le Nugget PM trouve le nugget installé et ne met pas à jour la bibliothèque Si vous avez un problème similaire:
NB: le dossier du package est au même niveau que le fichier yousolution.sln
la source
Utilisation de nuget pour désinstaller System.Web.Optimization dans la console du gestionnaire de packages comme ceci:
Uninstall-Package Microsoft.AspNet.Web.Optimization
Puis réinstallez en utilisant:
Install-Package Microsoft.AspNet.Web.Optimization
Peut résoudre ce problème pour vous.
la source
Installez-le depuis NUGet via Visual Studio Ouvrez Visual Studio 2010, sélectionnez Outils-> Library Package Manager-> Package Manager Console
Cela ouvrira le conslve, collez
et entrez. et vous avez terminé
la source
défini dans Global.asax application_start (en mode RELEASE, etc.):
pour activer la minification et passer à false en mode DEBUG pour rendre tous les fichiers de script et de style individuellement.
la source
<compilation debug="true" />
est défini (ce qui est assez standard lors de la construction d'une version de débogage), aucune optimisation n'a lieu. Normalement, ce paramètre est automatiquement supprimé dans une version de version.BundleTable.EnableOptimizations
ne doit être utilisé que pour remplacer le web.config. Pour plus d'informations: asp.net/mvc/tutorials/mvc-4/bundling-and-minification (recherchez "Contrôle du regroupement et de la minification")BundleTable.EnableOptimizations = false;
parce que dans vos BundleConfig.cs, vous spécifiez tous les fichiers prédéfinis et vous ne voulez pas qu'il fasse une autre minimisation sur eux.