Delen via


dotnet-project converteren

Dit artikel is van toepassing op: ✔️ .NET 10 SDK en latere versies

Naam

dotnet project convert - Converteert een programma op basis van bestanden naar een projectprogramma.

Samenvatting

dotnet project convert <FILE> [--dry-run] [--force] [--interactive]
    [-o|--output <OUTPUT_DIRECTORY>]

dotnet project convert -h|--help

Description

Met de dotnet project convert opdracht wordt een programma op basis van bestanden geconverteerd naar een projectprogramma. Met deze opdracht maakt u een nieuwe map met de naam van uw bestand, maakt u een .csproj-bestand , verplaatst u de code naar een bestand met dezelfde naam als het invoerbestand en vertaalt u alle #: instructies in MSBuild-eigenschappen en -verwijzingen.

Dit maakt de overgang naadloos, van één bestand naar een volledig functioneel, bouwbaar en uitbreidbaar project. Wanneer uw op bestanden gebaseerde app complexer wordt of als u gewoon de extra mogelijkheden wilt die zijn geboden in project-apps, kunt u deze converteren naar een standaardproject.

Conversieproces

De opdracht voert de volgende bewerkingen uit:

  1. Hiermee maakt u een nieuwe map met de naam van het invoerbestand (zonder extensie).
  2. Genereert een .csproj-bestand met de juiste SDK en eigenschappen.
  3. Hiermee verplaatst u de broncode naar een bestand met dezelfde naam als het invoerbestand.
  4. Hiermee verwijdert u #: instructies uit de broncode.
  5. Vertaalt #:sdk richtlijnen: de eerste #:sdk instructie wordt het <Project Sdk="Sdk.Id"> of <Project Sdk="Sdk.Id/version"> kenmerk en eventuele aanvullende #:sdk instructies worden <Sdk Name="Sdk.Id" /> of <Sdk Name="Sdk.Id" Version="version" /> elementen.
  6. Vertaalt #:package instructies naar <PackageReference> elementen in het projectbestand.
  7. Vertaalt #:property instructies naar MSBuild-eigenschappen in het projectbestand.
  8. Hiermee stelt u de juiste MSBuild-eigenschappen in op basis van de SDK en het gedetecteerde framework.

Arguments

  • FILE

    Het pad naar het programma op basis van bestanden dat moet worden geconverteerd. Het bestand moet een C#-bronbestand zijn (meestal met een .cs-extensie ).

Options

  • --dry-run

    Bepaalt wijzigingen zonder het bestandssysteem daadwerkelijk te wijzigen. Toont wat er zou worden gemaakt of gewijzigd zonder de conversie uit te voeren.

  • --force

    Dwingt conversie, zelfs als er onjuiste instructies zijn. De opdracht mislukt standaard als er instructies worden weergegeven die niet correct kunnen worden geparseerd of geconverteerd.

  • --interactive

    Hiermee kan de opdracht stoppen en wachten op invoer of actie van de gebruiker. Bijvoorbeeld om de verificatie te voltooien.

  • -o|--output <OUTPUT_DIRECTORY>

    Hiermee geeft u de uitvoermap voor het geconverteerde project. Als dit niet is opgegeven, wordt er een map gemaakt met dezelfde naam als het invoerbestand (zonder extensie) in de huidige map.

  • -?|-h|--help

    Hiermee wordt een beschrijving afgedrukt van hoe de opdracht gebruikt moet worden.

Voorbeelden

  • Een programma op basis van bestanden converteren naar een project:

    dotnet project convert app.cs
    

    Gezien een map met app.cs met de volgende inhoud:

    #: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();
    

    Resultaten uitvoeren dotnet project convert app.cs in een map met de naam app met:

    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>
    
  • Converteer een programma op basis van bestanden naar een project in een specifieke uitvoermap:

    dotnet project convert app.cs --output MyProject
    

Zie ook