Nguon: Microsoft Learn · .NET 8.0

Quản lý tham chiếu Protobuf với dotnet-grpc

Nguồn: Manage Protobuf references with dotnet-grpc

dotnet-grpc là một .NET Global Tool (công cụ toàn cục .NET) để quản lý các tham chiếu Protobuf (.proto) trong một .NET gRPC project. Công cụ có thể được sử dụng để thêm, làm mới, xóa, và liệt kê các tham chiếu Protobuf.

Cài đặt

Để cài đặt dotnet-grpc như một .NET Global Tool, chạy lệnh sau:

dotnetcli
dotnet tool install -g dotnet-grpc

Lưu ý: Theo mặc định, kiến trúc của các .NET binary để cài đặt đại diện cho kiến trúc hệ điều hành đang chạy. Để chỉ định kiến trúc khác, hãy xem cách sử dụng lệnh dotnet tool install với tùy chọn --arch.

Thêm tham chiếu

dotnet-grpc có thể được sử dụng để thêm các tham chiếu Protobuf dưới dạng các mục <Protobuf /> vào file .csproj:

xml
<Protobuf Include="Protos\greet.proto" GrpcServices="Server" />

Các tham chiếu Protobuf được sử dụng để tạo các C# client và/hoặc server assets. Công cụ dotnet-grpc có thể:

Ví dụ, package Grpc.AspNetCore được thêm vào một web app. Grpc.AspNetCore chứa các thư viện gRPC server và client cùng với hỗ trợ tooling. Ngoài ra, các package Grpc.Net.Client, Grpc.ToolsGoogle.Protobuf, chỉ chứa thư viện gRPC client và hỗ trợ tooling, được thêm vào một Console app.

Thêm file

Lệnh add-file được dùng để thêm các file cục bộ trên đĩa dưới dạng tham chiếu Protobuf. Các đường dẫn file được cung cấp:

Nếu bất kỳ file nào nằm ngoài thư mục project, một phần tử Link được thêm để hiển thị file trong thư mục Protos trong Visual Studio.

Cách sử dụng

dotnetcli
dotnet-grpc add-file [options] <files>...

Tham số

Tham sốMô tả
filesCác tham chiếu file protobuf. Đây có thể là đường dẫn để glob cho các file protobuf cục bộ.

Tùy chọn

Tùy chọn ngắnTùy chọn dàiMô tả
-p--projectĐường dẫn đến file project để thao tác. Nếu không có file nào được chỉ định, lệnh sẽ tìm kiếm trong thư mục hiện tại.
-s--servicesLoại gRPC service cần được tạo. Nếu Default được chỉ định, Both được dùng cho Web project và Client được dùng cho non-Web project. Các giá trị được chấp nhận: Both, Client, Default, None, Server.
-i--additional-import-dirsCác thư mục bổ sung để sử dụng khi phân giải imports cho các file protobuf. Đây là danh sách các đường dẫn được phân tách bởi dấu chấm phẩy.
--accessAccess modifier (bộ sửa đổi truy cập) để dùng cho các lớp C# được tạo. Giá trị mặc định là Public. Các giá trị được chấp nhận: InternalPublic.

Thêm URL

Lệnh add-url được dùng để thêm một file từ xa được chỉ định bởi source URL dưới dạng tham chiếu Protobuf. Đường dẫn file phải được cung cấp để chỉ định nơi tải file từ xa về. Đường dẫn file có thể là tương đối so với thư mục hiện tại hoặc tuyệt đối. Nếu đường dẫn file nằm ngoài thư mục project, một phần tử Link được thêm để hiển thị file trong thư mục ảo Protos trong Visual Studio.

Cách sử dụng

dotnetcli
dotnet-grpc add-url [options] <url>

Tham số

Tham sốMô tả
urlURL đến file protobuf từ xa.

Tùy chọn

Tùy chọn ngắnTùy chọn dàiMô tả
-o--outputChỉ định đường dẫn tải xuống cho file protobuf từ xa. Đây là tùy chọn bắt buộc.
-p--projectĐường dẫn đến file project để thao tác. Nếu không có file nào được chỉ định, lệnh tìm kiếm trong thư mục hiện tại.
-s--servicesLoại gRPC service cần được tạo. Nếu Default được chỉ định, Both được dùng cho Web project và Client được dùng cho non-Web project. Các giá trị được chấp nhận: Both, Client, Default, None, Server.
-i--additional-import-dirsCác thư mục bổ sung để sử dụng khi phân giải imports cho các file protobuf. Đây là danh sách đường dẫn được phân tách bởi dấu chấm phẩy.
--accessAccess modifier để dùng cho các lớp C# được tạo. Giá trị mặc định là Public. Các giá trị được chấp nhận: InternalPublic.

Xóa

Lệnh remove được dùng để xóa các tham chiếu Protobuf khỏi file .csproj. Lệnh chấp nhận tham số là đường dẫn và source URL. Công cụ:

Cách sử dụng

dotnetcli
dotnet-grpc remove [options] <references>...

Tham số

Tham sốMô tả
referencesCác URL hoặc đường dẫn file của các tham chiếu protobuf cần xóa.

Tùy chọn

Tùy chọn ngắnTùy chọn dàiMô tả
-p--projectĐường dẫn đến file project để thao tác. Nếu không có file nào được chỉ định, lệnh tìm kiếm trong thư mục hiện tại.

Làm mới

Lệnh refresh được dùng để cập nhật một tham chiếu từ xa với nội dung mới nhất từ source URL. Cả đường dẫn file tải xuống và source URL đều có thể được dùng để chỉ định tham chiếu cần cập nhật. Lưu ý:

Công cụ luôn thay thế file cục bộ bằng file từ xa nếu cần cập nhật.

Cách sử dụng

dotnetcli
dotnet-grpc refresh [options] [<references>...]

Tham số

Tham sốMô tả
referencesCác URL hoặc đường dẫn file đến các tham chiếu protobuf từ xa cần cập nhật. Để trống tham số này để làm mới tất cả các tham chiếu từ xa.

Tùy chọn

Tùy chọn ngắnTùy chọn dàiMô tả
-p--projectĐường dẫn đến file project để thao tác. Nếu không có file nào được chỉ định, lệnh tìm kiếm trong thư mục hiện tại.
--dry-runXuất ra danh sách các file sẽ được cập nhật mà không tải xuống nội dung mới.

Liệt kê

Lệnh list được dùng để hiển thị tất cả các tham chiếu Protobuf trong file project. Nếu tất cả các giá trị của một cột là giá trị mặc định, cột đó có thể bị bỏ qua.

Cách sử dụng

dotnetcli
dotnet-grpc list [options]

Tùy chọn

Tùy chọn ngắnTùy chọn dàiMô tả
-p--projectĐường dẫn đến file project để thao tác. Nếu không có file nào được chỉ định, lệnh tìm kiếm trong thư mục hiện tại.