Bagikan melalui


konversi proyek dotnet

Artikel ini berlaku untuk: ✔️ .NET 10 SDK dan versi yang lebih baru

Nama

dotnet project convert - Mengonversi program berbasis file ke program berbasis proyek.

Sinopsis

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

dotnet project convert -h|--help

Description

Perintah mengonversi dotnet project convert program berbasis file menjadi program berbasis proyek. Perintah ini membuat direktori baru bernama untuk file Anda, membuat perancah file .csproj , memindahkan kode Anda ke dalam file dengan nama yang sama dengan file input, dan menerjemahkan arahan apa pun #: ke dalam properti dan referensi MSBuild.

Ini membuat transisi mulus, dari satu file ke proyek yang berfungsi penuh, dapat dibangun, dan dapat diperluas. Ketika aplikasi berbasis file Anda tumbuh dalam kompleksitas, atau Anda hanya ingin kemampuan tambahan yang diberikan dalam aplikasi berbasis proyek, Anda dapat mengonversinya menjadi proyek standar.

Proses konversi

Perintah melakukan operasi berikut:

  1. Membuat direktori baru yang dinamai sesuai dengan file input (tanpa ekstensi).
  2. Menghasilkan file .csproj dengan SDK dan properti yang sesuai.
  3. Memindahkan kode sumber ke file dengan nama yang sama dengan file input.
  4. #: Menghapus arahan dari kode sumber.
  5. Menerjemahkan #:sdk arahan: arahan pertama #:sdk menjadi <Project Sdk="Sdk.Id"> atribut atau <Project Sdk="Sdk.Id/version"> , dan arahan tambahan #:sdk apa pun menjadi <Sdk Name="Sdk.Id" /> atau <Sdk Name="Sdk.Id" Version="version" /> elemen.
  6. Menerjemahkan #:package arahan ke <PackageReference> elemen dalam file proyek.
  7. Menerjemahkan #:property arahan ke properti MSBuild dalam file proyek.
  8. Mengatur properti MSBuild yang sesuai berdasarkan SDK dan kerangka kerja yang terdeteksi.

Arguments

  • FILE

    Jalur ke program berbasis file yang akan dikonversi. File harus berupa file sumber C# (biasanya dengan ekstensi .cs ).

Opsi

  • --dry-run

    Menentukan perubahan tanpa benar-benar mengubah sistem file. Menunjukkan apa yang akan dibuat atau dimodifikasi tanpa melakukan konversi.

  • --force

    Memaksa konversi bahkan jika ada direktif yang salah bentuk. Secara default, perintah gagal jika mengalami direktif yang tidak dapat diurai atau dikonversi dengan benar.

  • --interactive

    Memungkinkan perintah berhenti dan menunggu input atau tindakan pengguna. Misalnya, untuk menyelesaikan autentikasi.

  • -o|--output <OUTPUT_DIRECTORY>

    Menentukan direktori output untuk proyek yang dikonversi. Jika tidak ditentukan, direktori dibuat dengan nama yang sama dengan file input (tanpa ekstensi) di direktori saat ini.

  • -?|-h|--help

    Mencetak deskripsi cara menggunakan perintah.

Examples

  • Mengonversi program berbasis file menjadi proyek:

    dotnet project convert app.cs
    

    Mengingat folder yang berisi app.cs dengan konten berikut:

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

    Menjalankan dotnet project convert app.cs hasil dalam folder yang disebut aplikasi yang berisi:

    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>
    
  • Konversikan program berbasis file ke proyek dalam direktori output tertentu:

    dotnet project convert app.cs --output MyProject
    

Lihat juga