Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article s’applique à : ✔️ SDK .NET 10 et versions ultérieures
Nom
dotnet project convert - Convertit un programme basé sur un fichier en programme basé sur un projet.
Synopsis
dotnet project convert <FILE> [--dry-run] [--force] [--interactive]
[-o|--output <OUTPUT_DIRECTORY>]
dotnet project convert -h|--help
Descriptif
La dotnet project convert commande convertit un programme basé sur un fichier en programme basé sur un projet. Cette commande crée un répertoire nommé pour votre fichier, crée une structure de fichier .csproj , déplace votre code dans un fichier portant le même nom que le fichier d’entrée et traduit toutes les #: directives en propriétés et références MSBuild.
Cela rend la transition transparente, d’un seul fichier à un projet entièrement fonctionnel, pouvant être généré et extensible. Lorsque votre application basée sur des fichiers augmente en complexité ou que vous souhaitez simplement bénéficier des fonctionnalités supplémentaires offertes dans les applications basées sur des projets, vous pouvez la convertir en projet standard.
Processus de conversion
La commande effectue les opérations suivantes :
- Crée un répertoire nommé après le fichier d’entrée (sans extension).
- Génère un fichier .csproj avec les propriétés et sdk appropriés.
- Déplace le code source vers un fichier portant le même nom que le fichier d’entrée.
- Supprime les
#:directives du code source. - Traduit les
#:sdkdirectives : la première#:sdkdirective devient l’attribut ou<Project Sdk="Sdk.Id/version">l’attribut<Project Sdk="Sdk.Id">, et toutes les directives supplémentaires#:sdkdeviennent<Sdk Name="Sdk.Id" />ou<Sdk Name="Sdk.Id" Version="version" />d’éléments. - Traduit les
#:packagedirectives en<PackageReference>éléments dans le fichier projet. - Traduit les
#:propertydirectives en propriétés MSBuild dans le fichier projet. - Définit les propriétés MSBuild appropriées en fonction du Kit de développement logiciel (SDK) et de l’infrastructure détectées.
Arguments
FILEChemin d’accès au programme basé sur les fichiers à convertir. Le fichier doit être un fichier source C# (généralement avec une extension .cs ).
Options
--dry-runDétermine les modifications sans réellement modifier le système de fichiers. Affiche ce qui serait créé ou modifié sans effectuer la conversion.
--forceForce la conversion même s’il existe des directives incorrectes. Par défaut, la commande échoue si elle rencontre des directives qui ne peuvent pas être correctement analysées ou converties.
-
--interactivePermet à la commande d’arrêter et d’attendre l’entrée ou l’action de l’utilisateur. Par exemple, pour terminer l’authentification.
-o|--output <OUTPUT_DIRECTORY>Spécifie le répertoire de sortie du projet converti. S’il n’est pas spécifié, un répertoire est créé avec le même nom que le fichier d’entrée (sans extension) dans le répertoire actif.
-
-?|-h|--helpImprime une description de l’utilisation de la commande.
Examples
Convertissez un programme basé sur un fichier en projet :
dotnet project convert app.csCompte tenu d’un dossier contenant app.cs avec le contenu suivant :
#:sdk Microsoft.NET.Sdk.Web #:package Microsoft.AspNetCore.OpenApi@10.*-* var builder = WebApplication.CreateBuilder(); builder.Services.AddOpenApi(); var app = builder.Build(); app.MapGet("/", () => "Hello, world!"); app.Run();L’exécution
dotnet project convert app.csgénère un dossier appelé application contenant :app/app.cs :
var builder = WebApplication.CreateBuilder(); builder.Services.AddOpenApi(); var app = builder.Build(); app.MapGet("/", () => "Hello, world!"); app.Run();app/app.csproj :
<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net10.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <PublishAot>true</PublishAot> <PackAsTool>true</PackAsTool> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="10.*-*" /> </ItemGroup> </Project>Convertissez un programme basé sur un fichier en projet dans un répertoire de sortie spécifique :
dotnet project convert app.cs --output MyProject