Giới thiệu về .NET CLI, khi mà dev .NET không cần dùng GUI tool nữa

2 min read

Định nghĩa

NET CLI (Command Line Interface) là một công cụ dòng lệnh được cung cấp bởi Microsoft để phát triển và quản lý các ứng dụng .NET trên nền tảng .NET Core và .NET 5 (bao gồm cả các phiên bản .NET sau này). .NET CLI cung cấp một cách tiện lợi và linh hoạt để thực hiện các công việc phát triển ứng dụng như tạo mới dự án, biên dịch mã nguồn, chạy ứng dụng, quản lý các gói thư viện, và triển khai ứng dụng.

Dưới đây là một số tính năng và chức năng chính của .NET CLI:

  1. Tạo mới dự án: .NET CLI cho phép tạo mới các dự án .NET bằng cách sử dụng các templates có sẵn. Bạn có thể tạo mới dự án cho ứng dụng console, ứng dụng web, thư viện lớp, và nhiều loại dự án khác.
  2. Biên dịch và chạy ứng dụng: Bằng cách sử dụng .NET CLI, bạn có thể biên dịch và chạy ứng dụng .NET trực tiếp từ dòng lệnh mà không cần sử dụng môi trường phát triển tích hợp (IDE) như Visual Studio. Điều này giúp tạo ra một quy trình phát triển ứng dụng đơn giản và linh hoạt.
  3. Quản lý gói thư viện: .NET CLI cho phép thêm, xóa và cập nhật các gói thư viện (packages) từ NuGet, một kho lưu trữ trực tuyến chứa hàng ngàn thư viện mã nguồn mở và thương mại được sử dụng trong cộng đồng .NET.
  4. Triển khai ứng dụng: .NET CLI cung cấp các công cụ để triển khai ứng dụng .NET lên các môi trường khác nhau, bao gồm cả môi trường phát triển, thử nghiệm và sản xuất.
  5. Chạy các lệnh khác nhau: Ngoài ra, .NET CLI còn cung cấp một loạt các lệnh khác nhau để thực hiện các tác vụ như kiểm tra mã nguồn, tạo ra tài liệu, đóng gói ứng dụng và nhiều hơn nữa.

.NET CLI là một công cụ mạnh mẽ và linh hoạt cho việc phát triển ứng dụng .NET, đặc biệt là trên các hệ điều hành Unix-like như Linux và macOS, nơi việc làm việc với dòng lệnh là phổ biến.

Ví dụ thực tế

Ta sẽ tới một số ví dụ thực tế thường hay dùng với .NET CLI

Tạo mới project

dotnet new list [] [--author ] [-lang|--language {"C#"|"F#"|VB}][--tag ] [--type ] [--columns ] [--columns-all][-o|--output ] [--project ] [--ignore-constraints][-d|--diagnostics] [--verbosity ] [-h|--help]
Ví dụ:
dotnet new console --name Dotnet.CLI.Demo

Run project

dotnet run [-a|--arch <ARCHITECTURE>] [-c|--configuration <CONFIGURATION>] [-f|--framework <FRAMEWORK>] [--force] [--interactive] [--launch-profile <NAME>] [--no-build] [--no-dependencies] [--no-launch-profile] [--no-restore] [--os <OS>] [--project <PATH>] [-r|--runtime <RUNTIME_IDENTIFIER>] [--tl:[auto|on|off]] [-v|--verbosity <LEVEL>] [[--] [application arguments]]

Watch run

Với lệnh này thì source code sẽ được tự động build lại khi có thay đổi

dotnet watch [<command>] [--list] [--no-hot-reload] [--non-interactive] [--project <PROJECT>] [-q|--quiet] [-v|--verbose] [--version] [--] <forwarded arguments>

Publish

Sử dụng cho việc build & publish source code.

dotnet publish [<PROJECT>|<SOLUTION>] [-a|--arch <ARCHITECTURE>] [-c|--configuration <CONFIGURATION>] [--disable-build-servers] [-f|--framework <FRAMEWORK>] [--force] [--interactive] [--manifest <PATH_TO_MANIFEST_FILE>] [--no-build] [--no-dependencies] [--no-restore] [--nologo] [-o|--output <OUTPUT_DIRECTORY>] [--os <OS>] [-r|--runtime <RUNTIME_IDENTIFIER>] [--sc|--self-contained [true|false]] [--no-self-contained] [-s|--source <SOURCE>] [--tl:[auto|on|off]] [--use-current-runtime, --ucr [true|false]] [-v|--verbosity <LEVEL>] [--version-suffix <VERSION_SUFFIX>]

Reference

https://learn.microsoft.com/en-us/dotnet/core/tools

Avatar photo

Clean Code: Nguyên tắc viết hàm trong lập trình…

Trong quá trình phát triển phần mềm, việc viết mã nguồn dễ đọc, dễ hiểu là yếu tố then chốt để đảm bảo code...
Avatar photo Dat Tran Thanh
3 min read

Clean Code: Nguyên tắc comment trong lập trình

Trong lập trình, code không chỉ là một tập hợp các câu lệnh để máy tính thực thi, mà còn là một hình thức...
Avatar photo Dat Tran Thanh
3 min read

Clean Code: Nguyên tắc xử lý lỗi (Error Handling)

Trong quá trình phát triển phần mềm, việc xử lý lỗi không chỉ là một phần quan trọng mà còn ảnh hưởng trực tiếp...
Avatar photo Dat Tran Thanh
4 min read

Leave a Reply

Your email address will not be published. Required fields are marked *