ASP.NET MVC 5 Angular2 |
A propos de Microsoft Visual Studio |
Templates En ligne - Angular 2 MVC 5 sample application |
On clique sur Ok, une Boite de dialogue apparaît :
Installer Angular Mvc5 sample application |
Projet Visual Studio 2015 Community Angular 2 MVC 5 |
Java Scripts |
Structure du projet Angular2Mvc5Application1.csproj
Alors qu'est ce qu'il y a dans ce projet ? Comment va t-on le décortiquer que va t-on y trouver ? C'est incroyable toutes ces version d'ASP.NET MVC ça va tellement vite que l'on dirait qu'il faut attendre. A peine on commençait à travailler avec JQuery que c'est Angular JS qu'il aurait fallu installer, à peine on faisait du MVC 2 que 5 était sur le marché.
Et là encore, on est en train de se plonger dans ASP.NET MVC 5 - Angular2 - sous Visual Studo 2015 Community alors que l'on parle déjà de VS 2017 et ASP.NET Core ...
Références du projet
Qu'est ce qu'il y a dans les références de mon projet ? C'est toujours instructif de voir la part des DLL qui sont dans le Framework.NET et la part des DLL qui sont les packages.
Références du projet |
Références du projet - Suite |
En pointant sur Microsoft.AspNet.Identity.Core je peux voir que cette DLL est installée comme un package :
...\Angular2Mvc5Application1\packages\Microsoft.AspNet.Identity.Core.2.2.1\lib\net45\Microsoft.AspNet.Identity.Core.dll
Tandis que System.Security fais parti du Framework 4.5
C'est impressionnant non ? Et franchement vous savez quoi ? Ça m'étonnerait que cela fonctionne tel quel. D'ailleurs je lance un petit coup de Build et ça crash en effet :
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Security.dll
Les NuGets Packages du projet
En regardant dans le répertoire Packages, on trouve ceci :
ASP.NET MVC 5 - Angular2 - Packages |
Génération du projet ça crash ! |
J'ai la curiosité d'ouvrir le fichier readme.md à l'intérieur des infos sur l'installation, essayons de corriger ce projet.
Correction de l'installation
Ce n'est pas gagné ! Des choses sont nouvelles Angular2 comment cela s'installe t-il ? Pourquoi cela n'a pas été fait avec l'installe du Template ?
Pour tenter de corriger cette erreur d'installation, je reviens sur la fenêtre de Sortie : Bower/npm où il m'a bien semblé voir des messages un peu curieux :
Ça n'est pas prêt de fonctionner tout ça, npm c'est le Nuget Package Management et Bower connais pas encore ! Je connaissais Jack Bower mais ça, c'était avant.
J'adore le message : You should bug the author to publish it
Bien sûr ! C'est moi qui vais essayer de contacter l'auteur pour lui reporter ce bug, je n'ai que ça à faire.
Dans la suite du rapport, on peut lire :
npm ERR! 404 'angular/platform-browser' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it
npm ERR! 404 It was specified as a dependency of 'aspnet'
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, or http url, or git url.
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\IDE\\Extensions\\Microsoft\\Web Tools\\External\\\\node\\node" "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\IDE\\Extensions\\Microsoft\\Web Tools\\External\\npm\\node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! cwd D:\Mabyre\Visual Studio\Samples\ASP.NET MVC5\Angular2Mvc5Application2\Angular2Mvc5Application2
npm ERR! node -v v0.10.31
npm ERR! npm -v 1.4.9
npm ERR! code E404
npm ERR! 404 You should bug the author to publish it
npm ERR! 404 It was specified as a dependency of 'aspnet'
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, or http url, or git url.
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\IDE\\Extensions\\Microsoft\\Web Tools\\External\\\\node\\node" "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\IDE\\Extensions\\Microsoft\\Web Tools\\External\\npm\\node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! cwd D:\Mabyre\Visual Studio\Samples\ASP.NET MVC5\Angular2Mvc5Application2\Angular2Mvc5Application2
npm ERR! node -v v0.10.31
npm ERR! npm -v 1.4.9
npm ERR! code E404
Allons je vais voir ce qu'il y a dans mon système à l'endroit suivant :
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External\node :
En vérité, il n'y a pas grand chose ...
Certains trucs ne sont pas installés au niveau de Node.js ... Curieux, moi je pensais que Angular remplaçait JQuery et qu'on avait pas besoin de Node, c'est un vrai fatras.
Et voici le résultat, l'application TodoList Sample Application s'exécute :
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External\node :
Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External\node\ node.exe |
Certains trucs ne sont pas installés au niveau de Node.js ... Curieux, moi je pensais que Angular remplaçait JQuery et qu'on avait pas besoin de Node, c'est un vrai fatras.
Visual Studio 2015 et Angular2 MVC
Il semble bien que ce Template ne puisse pas fonctionner sur la plateforme actuelle, il faut sans doute faire un update pour installer ce qu'il faut au niveau d'Angular ou Node.js ou les deux. J'ai fais une tentative pour double-cliquer sur l'exe : node.exe, c'est une console :
Console node.exe |
Allez lire un peu de stackoverflow : C'est quoi la différence entre Bower et npm ? Et vous comprendrez qu'une fois de plus ces histoires de dépendances foutent le wilde ! C'est un scandale, au lieu de facilité la vie du dev les nugets sont ingérables.
Not fun at all !
Dans le fichier readme.md, je lis :
Synchronize Node.JS Install Version with Visual Studio 2015
Il me faut donc installer Node.JS, il s'installe dans :
C:\Program Files\nodejs\
Puis on me dit de Synchroniser Node.JS et Visual Studio 2015
Ok ok, ras le bol ! En plus c'est à la création que tout se passe donc je supprime tout avant de récréé le projet mais rien n'y fait.
Je n'avais jamais vu une telle procédure d'installe depuis un moment, je ne sais pas ce que j'ai installé avec Node.JS, on dirait une sorte de cache ... il semble que se soit npm !
npm est le gestionnaire de paquets officiel de Node.JS ...
Puis cela fini par se terminer ...
Un petit coup de Build :
Not fun at all !
Dans le fichier readme.md, je lis :
Synchronize Node.JS Install Version with Visual Studio 2015
Il me faut donc installer Node.JS, il s'installe dans :
C:\Program Files\nodejs\
Installeur de NodeJS pour Windows |
Ok ok, ras le bol ! En plus c'est à la création que tout se passe donc je supprime tout avant de récréé le projet mais rien n'y fait.
Visual Studio Community 2015 - Angular 2 - MVC 5 - La solution est proche
Je m'acharne encore un peu. Dans Node.JS : C:\Program Files\nodejs
Je vois une commande "npm" en cherchant : 'angular' is not in the npm registry
Stackoverflow me dit : angular' is not in the npm registry d'exécuter la commande >npm install dans le répertoire de mon .csproj. Alors que c'est la réponse la moins "côtée" de la page c'est pourtant ce que je vais faire. Je vois dans le path le bon chemin, je me dis que je dois pouvoir exécuter la commande :
>npm install
Depuis une console dans le répertoire de mon projet .csproj ...
Il va alors se passer un tout un tas de trucs :
>npm install dans le répertoire de mon projet |
npm est le gestionnaire de paquets officiel de Node.JS ...
on vit les modules angular ... s'installer où ? dans le cache ... |
Ajouter une légende |
Génération réussi 1 |
Angular2Mvc5Application Template |
L'application TodoList à base d'un Template Visual Studio 2015 MVC 5 et Angular 2 fonctionne enfin. Au passage on a vu comment installer Node.JS et Angular2.
L'aspect des "cases à cocher" est tout à fait surprenant, plutôt joli, ce comportement c'est probablement de l'Angular2.
L'aspect des "cases à cocher" est tout à fait surprenant, plutôt joli, ce comportement c'est probablement de l'Angular2.
Have Fun !
Aucun commentaire:
Enregistrer un commentaire
Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.