Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo si applica a: ✔️ .NET 10 SDK e versioni successive
Nome
dotnet project convert - Converte un programma basato su file in un programma basato su progetto.
Synopsis
dotnet project convert <FILE> [--dry-run] [--force] [--interactive]
[-o|--output <OUTPUT_DIRECTORY>]
dotnet project convert -h|--help
Description
Il dotnet project convert comando converte un programma basato su file in un programma basato su progetto. Questo comando crea una nuova directory denominata per il file, esegue lo scaffolding di un file con estensione csproj , sposta il codice in un file con lo stesso nome del file di input e converte tutte le #: direttive in proprietà e riferimenti di MSBuild.
Ciò rende la transizione senza problemi, da un singolo file a un progetto completamente funzionale, compilabile ed estendibile. Quando l'app basata su file aumenta di complessità o si vuole semplicemente che le funzionalità aggiuntive offerte nelle app basate su progetto possano essere convertite in un progetto standard.
Processo di conversione
Il comando esegue le operazioni seguenti:
- Crea una nuova directory denominata dopo il file di input (senza estensione).
- Genera un file con estensione csproj con le proprietà e l'SDK appropriati.
- Sposta il codice sorgente in un file con lo stesso nome del file di input.
- Rimuove le
#:direttive dal codice sorgente. - Converte le
#:sdkdirettive: la prima#:sdkdirettiva diventa l'attributo<Project Sdk="Sdk.Id">o<Project Sdk="Sdk.Id/version">e tutte le direttive aggiuntive#:sdkdiventano<Sdk Name="Sdk.Id" />o<Sdk Name="Sdk.Id" Version="version" />elementi. - Converte le
#:packagedirettive in<PackageReference>elementi nel file di progetto. - Converte le
#:propertydirettive in proprietà MSBuild nel file di progetto. - Imposta le proprietà MSBuild appropriate in base all'SDK e al framework rilevati.
Arguments
FILEPercorso del programma basato su file da convertire. Il file deve essere un file di origine C# (in genere con un'estensione .cs ).
Options
--dry-runDetermina le modifiche senza modificare effettivamente il file system. Mostra cosa verrebbe creato o modificato senza eseguire la conversione.
--forceForza la conversione anche se sono presenti direttive in formato non valido. Per impostazione predefinita, il comando ha esito negativo se rileva direttive che non possono essere analizzate o convertite correttamente.
-
--interactiveConsente al comando di arrestarsi e attendere l'input o l'azione dell'utente, ad esempio il completamento dell'autenticazione.
-o|--output <OUTPUT_DIRECTORY>Specifica la directory di output per il progetto convertito. Se non specificato, viene creata una directory con lo stesso nome del file di input (senza estensione) nella directory corrente.
-
-?|-h|--helpStampa una descrizione di come usare il comando .
Esempi
Convertire un programma basato su file in un progetto:
dotnet project convert app.csData una cartella contenente app.cs con il contenuto seguente:
#: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'esecuzione
dotnet project convert app.csdei risultati viene eseguita in una cartella denominata app contenente: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>Convertire un programma basato su file in un progetto in una directory di output specifica:
dotnet project convert app.cs --output MyProject
Vedere anche
- comando di build dotnet
- dotnet run
- di pubblicazione dotnet
- Esercitazione: Creare programmi C# basati su file