Megosztás:


dotnet-projekt konvertálása

Ez a cikk a következőre vonatkozik: ✔️ .NET 10 SDK és újabb verziók

Név

dotnet project convert – Fájlalapú programot projektalapú programmá alakít át.

Áttekintés

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

dotnet project convert -h|--help

Description

A dotnet project convert parancs egy fájlalapú programot projektalapú programmá alakít át. Ez a parancs létrehoz egy új könyvtárat a fájlhoz, létrehoz egy .csproj fájlt, áthelyezi a kódot egy olyan fájlba, amelynek a neve megegyezik a bemeneti fájl nevével, és lefordítja az irányelveket #: AZ MSBuild tulajdonságokra és hivatkozásokra.

Ez zökkenőmentessé teszi az áttérést egyetlen fájlról egy teljesen működőképes, felépíthető és bővíthető projektre. Ha a fájlalapú alkalmazás összetettebbé válik, vagy egyszerűen csak a projektalapú alkalmazásokban elérhető további képességeket szeretné használni, átalakíthatja egy standard projektté.

Átváltási folyamat

A parancs a következő műveleteket hajtja végre:

  1. Létrehoz egy új könyvtárat a bemeneti fájlról (bővítmény nélkül).
  2. Létrehoz egy .csproj fájlt a megfelelő SDK-val és tulajdonságokkal.
  3. A forráskódot áthelyezi egy olyan fájlba, amelynek a neve megegyezik a bemeneti fájl nevével.
  4. Eltávolítja az irányelveket #: a forráskódból.
  5. Irányelveket #:sdk fordít le: az első #:sdk irányelv lesz az vagy <Project Sdk="Sdk.Id/version"> attribútum<Project Sdk="Sdk.Id">, és minden további #:sdk irányelv válik vagy <Sdk Name="Sdk.Id" Version="version" /> elemzé válik<Sdk Name="Sdk.Id" />.
  6. Irányelvek <PackageReference> fordítása #:package a projektfájl elemeire.
  7. #:property A projektfájlban lévő MSBuild tulajdonságokra lefordítja az irányelveket.
  8. Beállítja a megfelelő MSBuild tulajdonságokat az észlelt SDK és keretrendszer alapján.

Arguments

  • FILE

    A konvertálni kívánt fájlalapú program elérési útja. A fájlnak C# forrásfájlnak kell lennie (általában .cs kiterjesztéssel).

Beállítások

  • --dry-run

    A fájlrendszer tényleges módosítása nélkül határozza meg a módosításokat. Azt jeleníti meg, hogy mi jön létre vagy módosítva az átalakítás végrehajtása nélkül.

  • --force

    Az átalakítást még akkor is kényszeríti, ha vannak helytelenül formázott irányelvek. Alapértelmezés szerint a parancs meghiúsul, ha olyan irányelvekkel találkozik, amelyeket nem lehet megfelelően elemezni vagy konvertálni.

  • --interactive

    Lehetővé teszi, hogy a parancs leálljon, és várja meg a felhasználói bemenetet vagy műveletet. Például a hitelesítés befejezéséhez.

  • -o|--output <OUTPUT_DIRECTORY>

    Megadja a konvertált projekt kimeneti könyvtárát. Ha nincs megadva, a rendszer egy olyan könyvtárat hoz létre, amelynek neve megegyezik az aktuális könyvtár bemeneti fájljával (kiterjesztés nélkül).

  • -?|-h|--help

    A parancs használatának leírását nyomtatja ki.

Példák

  • Fájlalapú program átalakítása projektté:

    dotnet project convert app.cs
    

    A következő tartalommal rendelkező app.cs tartalmazó mappa:

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

    Az eredmények futtatása dotnet project convert app.cs egy alkalmazás nevű mappában, amely a következőket tartalmazza:

    alkalmazás/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>
    
  • Fájlalapú program konvertálása projektté egy adott kimeneti könyvtárban:

    dotnet project convert app.cs --output MyProject
    

Lásd még