Visual Studio 2015 est livré avec un support intégré pour des outils tels que Grunt, Bower, Gulp et NPM pour les projets ASP.NET 5.
Toutefois, lorsque je crée un projet ASP.NET 4.5.2 à l'aide de Visual Studio 2015, il n'utilise pas ces outils. J'aimerais utiliser bower au lieu de nuget pour gérer les packages côté client.
Je peux trouver des informations sur l'utilisation de ces outils avec Visual Studio 2013 (voir this question par exemple). Mais je suppose que la procédure est différente pour Visual Studio 2015, car il prend en charge de manière intégrée ces outils.
Bien que la réponse de de Liviu Costea soit correcte, il m'a encore fallu un certain temps pour comprendre comment cela se passait réellement. Voici donc mon guide étape par étape à partir d'un nouveau projet ASP.NET 4.5.2 MVC. Ce guide inclut la gestion des paquets côté client à l’aide de bower, mais ne couvre pas (encore) les offres groupées/grunt/gulp.
Créez un nouveau projet ASP.NET 4.5.2 (modèle MVC) avec Visual Studio 2015.
Désinstallez les packages Nuget suivants:
Retirer App_Start\BundleConfig.cs
du projet.
Retirer
using System.Web.Optimization;
et
BundleConfig.RegisterBundles(BundleTable.Bundles);
de Global.asax.cs
Retirer
<add namespace="System.Web.Optimization"/>
de Views\Web.config
Supprimer les liaisons d'assemblage pour System.Web.Optimization
et WebGrease
de Web.config
Ajouter un nouveau package.json
fichier à projeter (NPM configuration file
modèle d'élément)
Ajoutez bower
à devDependencies
:
{
"version": "1.0.0",
"name": "ASP.NET",
"private": true,
"devDependencies": {
"bower": "1.4.1"
}
}
Le paquet bower est automatiquement installé quand package.json
est enregistré.
Ajouter un nouveau bower.json
fichier à projeter (Bower Configuration file
modèle d'élément)
Ajouter bootstrap
, jquery-validation-unobtrusive
, modernizr
et respond
aux dépendances:
{
"name": "ASP.NET",
"private": true,
"dependencies": {
"bootstrap": "*",
"jquery-validation-unobtrusive": "*",
"modernizr": "*",
"respond": "*"
}
}
Ces paquets et leurs dépendances sont automatiquement installés lorsque bower.json
est enregistré.
Views\Shared\_Layout.cshtml
)Remplacer
@Styles.Render("~/Content/css")
avec
<link rel="stylesheet" href="~/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="~/Content/Site.css" />
Remplacer
@Scripts.Render("~/bundles/modernizr")
avec
<script src="~/wwwroot/lib/modernizr/modernizr.js" ></script>
Remplacer
@Scripts.Render("~/bundles/jquery")
avec
<script src="~/wwwroot/lib/jquery/dist/jquery.min.js"></script>
Remplacer
@Scripts.Render("~/bundles/bootstrap")
avec
<script src="~/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="~/wwwroot/lib/respond/dest/respond.min.js"></script>
Dans toutes les autres vues, remplacez
@Scripts.Render("~/bundles/jqueryval")
avec
<script src="~/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js"></script>
<script src="~/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>
Dans les commentaires ci-dessous , LavaHot recommande l'extension Bundler & Minifier en remplacement pour le bundler par défaut que je supprime à l'étape 2. Il recommande également cet article sur le regroupement avec Gulp.
En réalité, ce n'est pas trop différent. Il existe simplement une meilleure prise en charge de tous ces éléments dans Visual Studio, par exemple lorsque vous ajoutez de nouveaux éléments, vous avez des modèles pour les fichiers de configuration Bower ou NPM. Vous avez aussi des modèles pour les fichiers de configuration gulp ou grunt.
Mais l’appel de tâches Grunt/Gulp et leur liaison pour la création d’événements se font toujours avec Task Runner Explorer, comme dans VS 2013.