Exercice : créer un projet d’application web ASP.NET Core à partir d’un modèle
Dans cet exercice, vous allez :
- Créer un projet d’application web ASP.NET Core à partir d’un modèle.
- Examiner la structure du projet créé.
Créer une application web ASP.NET Core avec un modèle
Dans Visual Studio Code, créez un autre projet :
Sélectionnez le mode Explorateur :
Cliquez sur le bouton Créer un projet .NET. Vous pouvez également afficher la Palette de commandes à l’aide de Ctrl+Maj+P, puis taper «
.NET», pour rechercher et sélectionner la commande .NET : nouveau projet.
Sélectionnez le modèle de projet ASP.NET Core Empty dans la liste.
Dans la boîte de dialogue Emplacement du projet, créez un dossier nommé
MyWebApppour contenir le projet.Dans la Palette de commandes, nommez le projet
MyWebApp, en respectant les majuscules. Il est important d'utiliser le nom exact du projet pour s'assurer que les espaces de noms du code de cette instruction correspondent aux vôtres.Sélectionnez Créer un projet dans la Palette de commandes.
Examiner la structure du projet
Le contenu du dossier de projet MyWebApp s’affiche dans l’Explorateur Visual Studio Code :
À partir d'un terminal ou de la ligne de commande, créez un nouveau projet :
Accédez au répertoire (
cd) qui contiendra le projet.Créez une application web ASP.NET Core dans un répertoire nommé MyWebApp en exécutant la commande CLI .NET
dotnet new:dotnet new web -o MyWebAppUn nouveau projet web vide ASP.NET Core est créé dans un répertoire nommé MyWebApp.
La syntaxe de la commande est décrite ci-dessous :
-
dotnet new: Une commande CLI .NET pour créer divers artefacts de développement .NET basés sur des modèles tels que des projets, des solutions, des bibliothèques, des configurations et d'autres fichiers spécialisés. -
web: Un modèle de projet utilisé pour créer un projet web ASP.NET Core vide, ne contenant aucun exemple de contenu.webest un des nombreux modèles de projet intégrés disponibles dans le kit SDK .NET. -
-o: L'option output spécifie le répertoire dans lequel le nouveau projet est créé :- Si le répertoire n’existe pas, le CLI .NET le crée.
- Le répertoire dans lequel le projet est créé sert de nom de projet, d'espace de noms et de nom d'assemblage (le nom de la sortie compilée) par défaut.
- Si l’option de sortie
-o <directory>n’est pas utilisée, le répertoire actif est utilisé.
-
Ouvrez le dossier du projet MyWebApp.
Examiner la structure du projet
Le contenu du dossier de projet MyWebApp s’affiche dans l’Explorateur Visual Studio Code :
Les sections suivantes présentent une vue d'ensemble des principaux dossiers et fichiers du projet ASP.NET Core vide :
Fichier projet MyWebApp.csproj
Le fichier projet .csproj est utilisé pour :
- Configurez la façon de générer le projet
- Spécifier la version de .NET à cibler
- Gérer les dépendances du projet
Fichier de solution .sln
Lorsqu’un projet ASP.NET Core est créé ou ouvert dans Visual Studio Code (avec l’extension du Kit de développement C#), il crée un fichier de solution [nom du projet].sln. Le fichier de solution [nom du projet].sln contient des informations pour un ou plusieurs projets connexes, notamment des informations de build, des paramètres et des fichiers divers qui ne sont pas associés à un seul projet particulier.
Dossier obj
Le dossier obj contient des fichiers intermédiaires utilisés par le système de génération, y compris les fichiers objet compilés générés à partir des fichiers sources. La sortie de build finale est placée dans un dossier bin créé pendant le processus de génération.
Fichier Properties/launchSettings.json
Le fichier Properties/launchSettings.json contient des données de configuration pour la façon dont l’application est lancée pendant le développement. Ces paramètres incluent la propriété applicationUrl, qui spécifie l’URL racine utilisée par l’application, par exemple https://localhost:{port}, où {port} est un numéro de port local aléatoire attribué lors de la création du projet.
Le fichier launchSettings.json contient la configuration suivante :
{
"$schema": "https://json.schemastore.org/launchsettings.json",
"profiles": {
"http": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "http://localhost:5218",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"https": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:7140;http://localhost:5218",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
Le fichier Program.cs
Le fichier Program.cs sert de point d’entrée pour une application ASP.NET Core et a plusieurs objectifs clés, notamment :
- Configuration de l’hôte : Configure l'hôte, y compris le serveur web.
- Inscription du service : Ajoute des services à la fonctionnalité de l'application, tels que les contextes de base de données, la journalisation et les services spécialisés pour des cadres spécifiques.
- Configuration du pipeline intergiciel : Définit le pipeline de traitement des requêtes de l'application comme une série d'instances d'intergiciels.
- Configuration de l'environnement : Définit les paramètres spécifiques à l'environnement pour le développement, la mise à l'essai et la production.
Dans le nouveau projet ASP.NET Core vide que vous avez créé, le fichier Program.cs contient le code minimal suivant :
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();
Les lignes de code suivantes de ce fichier créent une valeur WebApplicationBuilder par défaut préconfigurée et créent l’application :
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
La méthode app.MapGet() définit directement un point de terminaison qui gère les requêtes HTTP GET :
app.MapGet("/", () => "Hello World!");
app.MapGet("/") : Définit un itinéraire pour la requête HTTP GET. Le / indique que cet itinéraire répond aux demandes adressées à l’URL racine de l’application. Par exemple, http://localhost:{port}/, où {port} est un numéro de port attribué de manière aléatoire dans le fichier Properties/launchSettings.json lors de la création du projet.
() => "Hello World!" : Une expression lambda qui sert de gestionnaire de la requête. Lorsqu'une requête GET est envoyée à l'URL racine, cette expression lambda est exécutée et renvoie la chaîne « Hello World ! »