Catégories
.Net

ASP.Net Core

Éléments

Historique

.NET Core 3.0 (Septembre 2019) doit être utilisé pour tout nouveau projet
.Net 5 (Novembre 2020) sera le successeur de .Net Core 3 (la version 4 a été skippée pour éviter les confusions avec .Net Framework 4 encore très répendue)
.NET Framework 4.8 (Avril 2019) sera la dernière version maintenu du .Net Framework

Créer un nouveau projet

Utiliser Visual Studio 2019 ou le SDK téléchargeable en standalone (qui est également installé automatiquement avec Visual Studio 2019).

Utilisation de dotnet CLI

dotnet --info                # check le PATH et versions des SDK/Runtime dispo
dotnet new --help      # liste les templates disponibles
dotnet new webapp  # cré une solution WebApi
dotnet run                   # pour lancer l'application

Création d’éléments de solution

MS nous met à disposition un outil dotnet aspnet-codegenerator qui est un générateur de code, qui permet de remplacer l’interface de Visual Studio lorsqu’on cré des nouveaux éléments au seins de notre solution.

Injection de dépendances

Dans les principes SOLID (formalisé en 2000), le D appartient à « Dependency Inversion Principle » soit « Principe d’Inversion de Dépendances« .
Ce principe nous demande de découpler les classes des classes qu’elles consomment, cela en utilisant des Interfaces dans les 2 niveaux et d’utiliser un IOC Container (Inversion of Control Container ex. Autofac) pour faire de l’Injection de Dépendances.
L’intérêt est de permettre de pouvoir switcher simplement les utilitaires (classes consommés) et faciliter les Tests Unitaires.

Youtube logo Tuto à propos du principe Principe d’inversion des Dépendances et de l’Injection de Dépendances par Tim Corey

Troubleshooting

Pour que Visual Studio 2019 puisse lancer l’exécutable node, en cas d’utilisation de nvm (notamment sur MAC), il faut créer un lien :

ln -s `command -v node` /usr/local/bin/node

Screenshots

VSCode asssistant
assistant VSCode permettant de créer automatiquement les fichiers dans .vscode: launch.json et tasks.json

Liens

Toujours pour chercher/trouver un package NuGet: nuget.org
Blog post sur le setup pour Raspberry Pi 4

Injection de dépendances en .Net Core pour des Controlleurs MVC, des Vues, au niveau des Services