Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel bezieht sich auf: ✔️ .NET 10 SDK und höhere Versionen
Name
dotnet project convert – Konvertiert ein dateibasiertes Programm in ein projektbasiertes Programm.
Zusammenfassung
dotnet project convert <FILE> [--dry-run] [--force] [--interactive]
[-o|--output <OUTPUT_DIRECTORY>]
dotnet project convert -h|--help
Description
Der dotnet project convert Befehl konvertiert ein dateibasiertes Programm in ein projektbasiertes Programm. Mit diesem Befehl wird ein neues Verzeichnis erstellt, das für Ihre Datei benannt ist, eine CSPROJ-Datei erstellt, den Code in eine Datei mit demselben Namen wie die Eingabedatei verschiebt und alle #: Direktiven in MSBuild-Eigenschaften und -Verweise übersetzt.
Dadurch wird der Übergang nahtlos von einer einzelnen Datei zu einem voll funktionsfähigen, buildierbaren und erweiterbaren Projekt. Wenn Ihre dateibasierte App komplexer wird oder Sie einfach die zusätzlichen Funktionen benötigen, die in projektbasierten Apps bereitgestellt werden, können Sie sie in ein Standardprojekt konvertieren.
Konvertierungsprozess
Der Befehl führt die folgenden Vorgänge aus:
- Erstellt ein neues Verzeichnis, das nach der Eingabedatei (ohne Erweiterung) benannt ist.
- Generiert eine CSPROJ-Datei mit dem entsprechenden SDK und den entsprechenden Eigenschaften.
- Verschiebt den Quellcode in eine Datei mit demselben Namen wie die Eingabedatei.
-
#:Entfernt Direktiven aus dem Quellcode. -
#:sdkÜbersetzt Direktiven: Die erste#:sdkDirektive wird zum<Project Sdk="Sdk.Id">Oder<Project Sdk="Sdk.Id/version">Attribut, und alle zusätzlichen#:sdkDirektiven werden<Sdk Name="Sdk.Id" />oder<Sdk Name="Sdk.Id" Version="version" />Elemente. -
#:packageÜbersetzt Direktiven in<PackageReference>Elemente in der Projektdatei. -
#:propertyÜbersetzt Direktiven in MSBuild-Eigenschaften in der Projektdatei. - Legt geeignete MSBuild-Eigenschaften basierend auf dem SDK und dem erkannten Framework fest.
Arguments
FILEDer Pfad zum zu konvertierenden dateibasierten Programm. Die Datei muss eine C#-Quelldatei sein (in der Regel mit einer .cs Erweiterung).
Options
--dry-runBestimmt Änderungen, ohne das Dateisystem tatsächlich zu ändern. Zeigt an, was erstellt oder geändert werden würde, ohne die Konvertierung auszuführen.
--forceErzwingt die Konvertierung auch dann, wenn falsch formatierte Direktiven vorhanden sind. Standardmäßig schlägt der Befehl fehl, wenn er auf Direktiven trifft, die nicht ordnungsgemäß analysiert oder konvertiert werden können.
-
--interactiveErmöglicht es dem Befehl, die Benutzereingabe oder -aktion zu beenden und zu warten. Um beispielsweise die Authentifizierung abzuschließen.
-o|--output <OUTPUT_DIRECTORY>Gibt das Ausgabeverzeichnis für das konvertierte Projekt an. Wenn nicht angegeben, wird ein Verzeichnis mit demselben Namen wie die Eingabedatei (ohne Erweiterung) im aktuellen Verzeichnis erstellt.
-
-?|-h|--helpGibt eine Beschreibung zur Verwendung des Befehls aus.
Examples
Konvertieren eines dateibasierten Programms in ein Projekt:
dotnet project convert app.csBei einem Ordner mit app.cs mit folgendem Inhalt:
#: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();Das Ausführen
dotnet project convert app.csführt zu einem Ordner namens "App ", der Folgendes enthält: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>Konvertieren eines dateibasierten Programms in ein Projekt in einem bestimmten Ausgabeverzeichnis:
dotnet project convert app.cs --output MyProject