Affichage des articles dont le libellé est Visual Studio 2017. Afficher tous les articles
Affichage des articles dont le libellé est Visual Studio 2017. Afficher tous les articles

lundi 19 juin 2017

ASP.NET MVC & WebAPI + Angular2 - Templates for Visual Studio 2017

Au sujet d'Angular2 et des templates pour Visual Studio, en reprenant ce sujet je suis un peu surpris de constater que l'on tombe à nouveau sur le Pack de Mads Kristensen que j'adore par ailleurs. La fois précédente, j'étais avec Visual Studio 2015 et MVC5, je devais installer tout un tas de trucs :

Visual Studio 2015 Update 3. Note that Update 2 is not enough.
.NET Core 1.0.1
TypeScript 2.0 for Visual Studio 2015.
Node.js version 4 or later.

Maintenant que je suis avec Visual Studio 2017 quel est le Template me propose Mads ? J'ai hâte de le découvrir.

ASP.NET and Angular2

Templates for Visual Studio 2017

Actuellement mon Visual Studio 2017 me propose comme application Web, les templates suivants :

Visual Studio 2017 Templates de base
Application web ASP.NET (.NET Framework)
Application web ASP.NET Core (.NET Core)
Application web ASP.NET Core (.NET Framework)

Visual Studio 2017 Templates
Si je choisie MVC :

Visual Studio 2017 Templates MVC
J'obtiens la structure d'application suivante :
Template pour ASP.NET .NET Framework MVC
Si je choisie WebAPI, j'obtiens la structure d'application suivante :

Template pour ASP.NET .NET Framework WebAPI

Comparaison des Templates MVC et WebAPI

J'en profite au passage pour repérer les grandes différences entre les deux types d'application MVC et WebAPI.

ASP.NET MVC vs ASP.NET WebAPI
Au niveau du fichier Global.asax.cs on notera la différence fondamentale suivante :

Global.asax.cs MVC vs WebAPI

Installation du Pack

Je clique sur le .vsix de Mads : ASP.NET Core Template Pack v1.1.37.vsix
Une petite popup plus loin :
Installation du ASP.NET Core Template Pack
Ben en fait, quedalle, nada, wallou ... il s'agit d'une erreur de ma part je n'ai pas lu assez profondément les prérequis du Template Pack qui ne s'installe qu'avec Visual Studio 2015.

Fin des opérations.
Qu'elle déception !

ASP.NET MVC WebAPI + Angular2 with Visual Studio 2017

Je pensais que l'utilisation de Visual Studio 2017 simplifierait les choses mais pour l'instant pas de Template. Donc, création d'une application de base ASP.NET .NET Framework MVC WebAPI Angular2 "à la mano" :

Fichier->Nouveau->Projet :
Création d'un projet Application Web ASP.NET .NET Framework MVC WebAPI Angular2
Choix du Template de base .NET Framework 4.6.1 :

Application web ASP.NET (.NET Framework)
Choix des options l'application modèle ASP.NET 4.6.1 :

ASP.NET 4.6.1 MVC option WebAPI
Il s'agit maintenant de configurer les packages Angular2 à l'aide de l'outil NPM (Node Package Manager)

Création du fichier package.json dans le projet

On créé un fichier .json nommé package.json  :

Ajouter une légende
Création d'un fichier de package JSon :

package.json pour l'utilçisation de NPM

Contenu du fichier package.json sur GitHub

Je vais chercher le contenu de ce fichier à l'adresse suivante :

https://github.com/angular/quickstart/blob/master/package.json
Je remplis mon nouvel élément .json avec le contenu de ce fichier trouvé sur GitHub :

Contenu du fichier package.json

Restauration des packages Node.js pour Angular2

En cliquant droit sur le fichier package.json->Restaurer les pacakges :

Fonctionnalité de Restauration des packages Nodes sur un fichier package.json
Le résultat de l'exécution de cette commande dans le fenêtre de Sortie : Bower/npm :
Sortie : Bower/npm
Un répertoire node_modules a été créé dans la solution :
Cliquez sur Afficher tous les fichiers :

Répertoire des packages NodeJS

Configuration du SystemJS

Ajout d'un fichier systemjs.config.js dans la solution :

Création du fichier systemjs.config.js
Son contenu se trouve à l'adresse suivante : 

systemjs.config.js

Configuration du TypeScript JSON

Ajouter->Nouvel élement ... tsconfig.json
Son contenu sur GitHub :

Le fichier de Configuration TypeScript sur le site de GitHub
Voilà notre application de base pour Angular2 est maintenant prête, elle s'exécute :

Exécution de l'application ASP.NET .NET Framework MVC WebAPI + Angular2 pour Visual Studio 2017
Je me demande bien pourquoi tout cela n'est pas encore dans un Template, je suppose que maintenant il est facile de démarrer avec Visual Studio 2017 et Angular2, cela intéresse donc moins Mads.

Template MVC WebAPI + Angular2 pour Visual Studio 2017

Supprimer le contenu du répertoire packages qui pèse 52,6 Mo
Supprimer le répertoire node_modules qui pèse 103 Mo

Archivez le tout.

Cliquez sur le lien suivant pour télécharger le projet Visual Studio 2017

Restaurer les NuGets

Pour restaurer votre application de base avec Angular2, il faudra restaurer les packages nugets par :
Bouton droit sur le projet->Gérer les packages NuGet...

Gérer les packages NuGet
Gestionnaire de packages NuGet : ASP.NET Framework MVC WepAPI + Angular2 

Gestionnaire de packages NuGet

Restaurer les packages NodeJS pour Angular2

Sur le fichier de gestion des packages faites Bouton droit->Restaurer les packages :

Restaurations des packages NodeJs pour Angualr2
Voilà, vous êtes enfin prêt à travailler avec ASP.NET en C# modèle MVC & WebAPI + Angular2.

Souriez, j'espère que vous êtes content !

mercredi 3 mai 2017

Visual Studio 2017 - ASP.NET Core

Avant de passer à Visual Studio 2017 prenons quelques notes. Actuellement mon répertoire C:\Program Files (x86) a cette tête là :

Installation des différentes version de Visual Studio
On peut y voir Microsoft Visual Studio 14.0 qui est, comme chacun sait, la version 2015 de Visual Studio Community . Ce que j'espère, c'est que l'installation de Visual Studio 2017 ne va pas perturber tout ceci...

Encore mieux, j'espère que les deux installation 2015 et 2017 vont pouvoir cohabiter sans se marcher dessus.

Allez on se lance ...

Installation de Visual Studio 2017

C'est toujours un saut dans l'inconnu quelque part on ne sait jamais trop ce que l'on va trouver, sans doute un nouvel univers ...

https://www.visualstudio.com/fr/downloads/
Note la sobriété du Splash Screen :
Rien à cocher !
Oui c'est étonnant rien pas même une case J'accepte ! Je clique sur "Continuer" et puis une barre de progression s'afficher, et puis là c'est le drame !

Procédure d'installe de Visual Studio 2017 - 1
Alors qu'auparavant, il y avait trois choix du genre, tout installer, installer mini et installer nominale, ici plus rien de tout ça, vous devez tout choisir !

Charges de travail

Windows (3) : 3 type de développements 
  • plateforme universelle
  • .NET Desktop
  • Desktop C++
Web et cloud (5) : 5 types de choix
  • Web et asp.NET
  • Développement Node.js
  • Azure
  • Stockage et traitement des données
  • ShraPoint/Office
Et en déroulant, il y en a encore :

Procédure d'installe de Visual Studio 2017 - 2
Je vais choisir de regarder ASP.NET, je coche donc les cinq parties dans "Web et Cloud" :

Choisir son installation
Je remarque un truc, si je ne coche pas "Développement Azure" je n'ai pas le Runtime .NET Core ???

Composants individuels

Dans l'onglet "Composants individuels" la Liste est vraiment importante. Toutes les versions du Framework par exemple sont là.

Runtime .NET Core dans l'install de VS 2017
Je choisi également de cocher "Outils PowerShell" :

Options facultatives
La Liste se poursuit :

Composants individuels - Entity Framewrok 6.0 - TypeScript 2.1
Et encore tout est coché dans la liste IIS Express - Création Azure :

Composants individuels - IIS Express - Création Azure - SQL Server
Et encore, et encore :
Composants individuels - Git pour windows - Emulateur Google Android
La suite de la liste de composants individuels :

Composants individuels - PowerShell  - Entity Tools
Et enfin je peux cliquer sur "Installer" :

Visual Studio Installation
Voilà, on a fait le tour des composants que l'on peut installer avec Visual Studio 2017 Community. Il semble que l'on soit à l'entrée d'un nouveau monde unifié multi-plateforme, espérons que tout cela tienne ses promesses.

Solution Vide

Ajout le 29 mai 2017
Alors pour prendre ses marques avec Visual Studio 2017, voici le contenue d'une solution vide, notez les numéros de version :

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26403.7
MinimumVisualStudioVersion = 10.0.40219.1
Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

J'ai tenter d'ouvrir une solution VS 2017 avec un VS 2015 ça fonctionne mais pas totalement et notamment au niveau de MSBuild c'est assez piégeant.

vendredi 24 mars 2017

Correspondance des versions d'ASP.NET MVC avec celles de Visual Studio

Comment va t-on faire pour garder toutes ces versions compatibles, j'ai nommé ASP.NET MVC 4, MVC 5 Framework.NET 4.5.2, 4.6, 4.6.1, etc ... et surtout s'y retrouver ?

Quels sont les types d'applications que l'on peut développer avec une version de visual studio par exemple Visual Studio 2013, Visual Studio 2013 Update 5, Visual Studio 2015 et maintenant 2017, etc etc etc ...

Prenons notes avant de franchir le pas et d'utiliser un peu plus Visual Studio 2015 ou Visual Studio 2017 qui  vient de sortir. Je reprends mon bon vieux Visual Studio 2013 Professional Edition with Update 4, ce qu'ils appelaient à l'époque Microsoft Team Explorer pour Visual Studio 2013 !

Et je regarde dans ce que je peux faire avec :

Fichier -> Nouveau projet
Fichier -> Nouveau site web
Visual Studio 2013 quel projet  pour ASP.NET MVC ?
On se rappelle alors comment transformer un "Site web" en "Application web"

Et donc on fait :

Fichier -> Nouveau projet 

Et c'est en jouant avec toutes les possibilités de création d'un nouveau projet que l'on se rend compte du marasme dans lequel on est avec toutes ces versions d'ASP.NET. Et la question est : Comment maintenir d'anciennes application ASP.NET ?

Nouveau Projet web .NET 2.0, 3.0, 4, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1
Vous ne trouvez pas que c'est un peu exagéré, et d’ailleurs si on clique sur <Autres Frameworks...> ils se passe quoi ?

Visual Studio affiche une page Web : Targeting .NET Platforms

Target .NET Plateforms - Correspondances entre .NET et Visual Studio
Et sur la page suivante, ça continue :

Correspondance entre .NET et Visual Studio
Franchement, c'est pas un peu abuser ! Dommage il n'y a pas de dates ! On est devant l'historique complet de toutes les versions du .NET Framework on a un peu le vertige et cela donne une idée de l'infini.

En plus, il manque encore quelque chose, il faut quelle version de Visual Studio pour travailler avec tout ça tout le monde n'a pas VS 2017 !

Par curiosité, je clique sur le lien .NET Framework 2.0 + 3.5 SP1

.NET Framework 3.5 et Visual Studio 2008 ou 2010
Et le Framework 1.1 ? Il n'est plus là ? Heureusement ! lol mdr ptdr ... fou rire, je vais respirer un peu ...

Développer avec Visual Studio 2013

Alors qu'est ce que je peux encore faire avec mon bon vieux Visual Studio 2013 ? Je suis sûr que certains d'entre vous pensent : le mettre à la poubelle ! Oui mais avant, tirons en toutes les informations nécessaires de cette versions professionnelle.

Une chose est un peu curieuse avec VS 2013 c'est cet item Visual Studio 2012 ?
Visual Studio 2013 - Développer pour VS 2012 ?

En choisissant le Framework 4.0, je vois ASP.NET MVC 4, pouwarrgg !
En choisissant le Framework 4.5.2 MVC 4 disparaît :

Visual Studio 2013 compatibilité avec Visual Studio 2012
On comprendra que Visual Studio 2013 permet de conserver une certaine compatibilité avec Visual Studio 2012 ! Bref c'est vrai, c'est moi maintenant qui ais envie de jeter tout ça à la poubelle !

Un jour je vous montrerais comment j'ai adapté une ancienne application .ASPX en Application Web compatible 4.5 en créant automatiquement les fichiers .designer.cs ...

Au plus avec VS 2013, je choisi .NET Framework 4.6.1 et je peux développer une Application Web ASP.NET :
Visual Studio 2013 Framework 4.6.1
Et l'on voit iOS ? Oulala ben alors :

Visual Studio 2013 - Développement pour iOS
Je ne vous conseille pas de démarrer vos développements pour iOS avec ça ! Sinon vous allez vers quelques déconvenues ;)

I'll be back !

Mise à jour le 18 mai 2017

J'avoue, j'ai des soucis pour choisir une plateforme ASP.NET MVC JS stable ... je reviens donc sur cette page pour comprendre les différences entre les versions et v'là ti pas que je trouve un nouvel Item :

.NET Framework 4.7

Dans la page .NET Targeting un nouvel Item est apparu :

Dot NET Targeting apparition du .NET Framework 4.7
En attendant moi je regarde dans : C:\Windows\Microsoft.NET\Framework et on dirait bien que j'ai jamais dépassé le Framework v4.0.30319

C:\Windows\Microsoft.NET\Framework\v4.0.30319
Ce n'est pas fun du tout du tout encore ça !