jeudi 2 août 2018

ASP.NET Core 2.0 c'est quoi ?

Et bien c'est bien plus clean qu'avant, bien plus clean qu'ASP.NET Core 1.0. Est ce que l'on arrive enfin à un réel environnement de développement multiplateforme ? Nous allons voir que le chemin est encore long comme le disait le petit padaoine.
https://docs.microsoft.com/fr-fr/aspnet/core/azure/devops/?view=aspnetcore-2.2
ASP.NET Core dans l'Azure
Je ne vais pas aller très loin. J'ai fais simplement les mises à jour de mon Visual Studio 2017 Community et me voilà avec mes nouveaux templates pour travailler avec ASP.NET Core :


Visual Studio 2017 Community ASP.NET Core Templates
Visual Studio 2017 Community ASP.NET Core Templates
On peut dire une chose déjà, c'est plus simple, je cherche alors de la littérature sur le sujet :

Présentation d'ASP.NET Core

Didacticiels ASP.NET Core

Voilà, c'est ce que j'ai trouvé de mieux. Par la suite, je vais m'intéresser à la structure d'un projet ASP.NET Core 2.0 et à la gestion des packages NuGet, là c'est une autre histoire que j'ai développée Page Suivante.

Voilà la structure de mon projet ASP.NET Core 2.0 :



ASP.NET Core 2.0 Structure
ASP.NET Core 2.0 Structure
J'ai installé le NuGet JQuery.UI.Combined. On voit que la structure de ce projet est de celle décrite en Janvier 2017 par Jonathan ABRAHAM de Supinfo Ici.

On peut dire qu'avec ASP.NET Core tout va très vite ... ;)

Personnellement je plaints ceux qui se sont lancés trop tôt car avant de montrer une application qui fonctionne à leur client ils ont du batailler.

En effet le  temps que je revienne continuer cet article on est passé au .NET Core 2.1. Les différences notables sont importantes.

Gestion des packages NuGets

On l'a vu, ils ont disparu de la proximité de l'application, il n'y a plus de répertoire App_Data et c'est bien dommage ! Ils sont transférés au niveau du User dans le répertoire suivant :

C:\\Users\UserName\.nuget\packages

C'est stupéfiant, on pense alors au déploiement des applications, maintenant on est plutôt dans une philosophie user : les mêmes NuGets pour toute les applications.

Astuce : Si vous développez plusieurs application sur la même machine de développement. Comme la restauration de NuGets est scripté dans le prébuild de l'application, vous pouvez très bien vous rendre dans le répertoire ".nuget" et renommer le répertoire "packages" en "old packages" par exemple et vous allez voir les nouveaux Nugets pour votre nouvelle application.

Connexion string

On a vu l'utilisation des commandes dans la Console du Gestionnaire de package pour utiliser un le répertoire "Migrations" et générer automatique la Base de données correspondante à l'application.

Là encore en tapant la commande "upate-database" qu'elle ne fut pas ma surprise de constater que la BD ainsi créé se trouve dans :

C:\\Users\UserName\WebApp1.mdf

C'est pas joli joli, en tous je me demande comment on déploie. Les fichiers XML ont été abandonnés au profit de fichiers .json c'est ainsi que la "connection string" se retrouve dans le fichier :

\\Samples\ASP.NET Core\Sample-2.1\appsettings.json


ASP.NET Core - Connection String
 "WebApp1ContextConnection": "Server=(localdb)\\mssqllocaldb;Database=WebApp1;Trusted_Connection=True;MultipleActiveResultSets=true"

Voilà c'est tout pour l'instant ! Mais je reviendrai surement.