Bagikan melalui


Tutorial: Membuat alat .NET menggunakan .NET CLI

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

Tutorial ini mengajarkan Anda cara membuat dan mengemas alat .NET. .NET CLI memungkinkan Anda membuat aplikasi konsol sebagai alat, yang dapat diinstal dan dijalankan orang lain. Alat .NET adalah paket NuGet yang diinstal dari .NET CLI. Untuk informasi selengkapnya tentang alat, lihat Gambaran umum alat .NET.

Alat yang akan Anda buat adalah aplikasi konsol yang mengambil pesan sebagai input dan menampilkan pesan bersama dengan baris teks yang membuat gambar robot.

Ini adalah yang pertama dalam serangkaian tiga tutorial. Dalam tutorial ini, Anda membuat dan mengemas alat. Dalam dua tutorial berikutnya, Anda menggunakan alat ini sebagai alat global dan menggunakan alat ini sebagai alat lokal. Prosedur untuk membuat alat sama apakah Anda menggunakannya sebagai alat global atau sebagai alat lokal.

Prasyarat

  • .NET SDK 6.0.100 atau versi yang lebih baru.

    Tutorial ini menggunakan .NET SDK 6.0, tetapi alat global tersedia mulai dari .NET Core SDK 2.1. Alat lokal tersedia mulai dari .NET Core SDK 3.0.

  • Editor teks atau editor kode pilihan Anda.

Membuat proyek

  1. Buka perintah dan buat folder bernama repositori.

  2. Navigasi ke folder repositori dan masukkan perintah berikut:

    dotnet new console -n microsoft.botsay -f net6.0
    

    Perintah membuat folder baru bernama microsoft.botsay di bawah folder repositori .

    Catatan

    Untuk tutorial ini, Anda membuat alat yang menargetkan .NET 6.0. Untuk menargetkan kerangka kerja yang berbeda, ubah -f|--framework opsi . Untuk menargetkan beberapa kerangka kerja, ubah TargetFramework elemen menjadi TargetFrameworks elemen dalam file proyek, seperti yang ditunjukkan dalam contoh berikut:

    <Project Sdk="Microsoft.NET.Sdk">
      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFrameworks>net8.0;net6.0</TargetFrameworks>
      </PropertyGroup>
    </Project>
    
  3. Navigasikan ke folder microsoft.botsay .

    cd microsoft.botsay
    

Menambahkan kode

  1. Buka file Program.cs dengan editor kode Anda.

  2. Ganti kode di Program.cs dengan kode berikut:

    using System.Reflection;
    
    namespace microsoft.botsay;
    
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
    

    Direktif using System.Reflection; diperlukan oleh kode yang Anda tambahkan di langkah berikutnya.

  3. Main Ganti metode dengan kode berikut untuk memproses argumen baris perintah untuk aplikasi.

    static void Main(string[] args)
    {
        if (args.Length == 0)
        {
            var versionString = Assembly.GetEntryAssembly()?
                                    .GetCustomAttribute<AssemblyInformationalVersionAttribute>()?
                                    .InformationalVersion
                                    .ToString();
    
            Console.WriteLine($"botsay v{versionString}");
            Console.WriteLine("-------------");
            Console.WriteLine("\nUsage:");
            Console.WriteLine("  botsay <message>");
            return;
        }
    
        ShowBot(string.Join(' ', args));
    }
    

    Jika tidak ada argumen yang diteruskan, pesan bantuan singkat akan ditampilkan. Jika tidak, semua argumen digabungkan menjadi satu string dan dicetak dengan memanggil ShowBot metode yang Anda buat di langkah berikutnya.

  4. Tambahkan metode baru bernama ShowBot yang mengambil parameter string. Metode ini mencetak pesan dan gambar robot menggunakan baris teks.

    static void ShowBot(string message)
    {
        string bot = $"\n        {message}";
        bot += @"
        __________________
                          \
                           \
                              ....
                              ....'
                               ....
                            ..........
                        .............'..'..
                     ................'..'.....
                   .......'..........'..'..'....
                  ........'..........'..'..'.....
                 .'....'..'..........'..'.......'.
                 .'..................'...   ......
                 .  ......'.........         .....
                 .    _            __        ......
                ..    #            ##        ......
               ....       .                 .......
               ......  .......          ............
                ................  ......................
                ........................'................
               ......................'..'......    .......
            .........................'..'.....       .......
         ........    ..'.............'..'....      ..........
       ..'..'...      ...............'.......      ..........
      ...'......     ...... ..........  ......         .......
     ...........   .......              ........        ......
    .......        '...'.'.              '.'.'.'         ....
    .......       .....'..               ..'.....
       ..       ..........               ..'........
              ............               ..............
             .............               '..............
            ...........'..              .'.'............
           ...............              .'.'.............
          .............'..               ..'..'...........
          ...............                 .'..............
           .........                        ..............
            .....
    ";
        Console.WriteLine(bot);
    }
    
  5. Simpan perubahan Anda.

Menguji aplikasi

Jalankan proyek dan lihat outputnya. Coba variasi ini di baris perintah untuk melihat hasil yang berbeda:

dotnet run
dotnet run -- "Hello from the bot"
dotnet run -- Hello from the bot

Semua argumen setelah pemisah -- diteruskan ke aplikasi Anda.

Mengemas alat

Sebelum Anda dapat mengemas dan mendistribusikan aplikasi sebagai alat, Anda perlu memodifikasi file proyek.

  1. Buka file microsoft.botsay.csproj dan tambahkan tiga simpul XML baru ke akhir simpul <PropertyGroup> :

    <PackAsTool>true</PackAsTool>
    <ToolCommandName>botsay</ToolCommandName>
    <PackageOutputPath>./nupkg</PackageOutputPath>
    

    <ToolCommandName> adalah elemen opsional yang menentukan perintah yang akan memanggil alat setelah diinstal. Jika elemen ini tidak disediakan, nama perintah untuk alat ini adalah nama rakitan, yang biasanya merupakan nama file proyek tanpa ekstensi .csproj .

    <PackageOutputPath> adalah elemen opsional yang menentukan di mana paket NuGet akan diproduksi. Paket NuGet adalah apa yang digunakan .NET CLI untuk menginstal alat Anda.

    File proyek sekarang terlihat seperti contoh berikut:

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
    
        <OutputType>Exe</OutputType>
        <TargetFramework>net6.0</TargetFramework>
    
        <PackAsTool>true</PackAsTool>
        <ToolCommandName>botsay</ToolCommandName>
        <PackageOutputPath>./nupkg</PackageOutputPath>
    
      </PropertyGroup>
    
    </Project>
    
  2. Buat paket NuGet dengan menjalankan perintah paket dotnet :

    dotnet pack
    

    File microsoft.botsay.1.0.0.nupkg dibuat di folder yang diidentifikasi oleh <PackageOutputPath> nilai dari file microsoft.botsay.csproj , yang dalam contoh ini adalah folder ./nupkg .

    Ketika Anda ingin merilis alat secara publik, Anda dapat mengunggahnya ke https://www.nuget.org. Setelah alat tersedia di NuGet, pengembang dapat menginstal alat dengan menggunakan perintah penginstalan alat dotnet . Untuk tutorial ini Anda menginstal paket langsung dari folder nupkg lokal, jadi tidak perlu mengunggah paket ke NuGet.

Pecahkan masalah

Jika Anda mendapatkan pesan kesalahan saat mengikuti tutorial, lihat Memecahkan masalah penggunaan alat .NET.

Langkah berikutnya

Dalam tutorial ini, Anda membuat aplikasi konsol dan mengemasnya sebagai alat. Untuk mempelajari cara menggunakan alat ini sebagai alat global, lanjutkan ke tutorial berikutnya.

Jika mau, Anda dapat melewati tutorial alat global dan langsung masuk ke tutorial alat lokal.