Hantera Protobuf-referenser med dotnet-grpc

Note

Det här är inte den senaste versionen av den här artikeln. Den aktuella versionen finns i .NET 10-versionen av den här artikeln.

Warning

Den här versionen av ASP.NET Core stöds inte längre. Mer information finns i supportpolicyn för .NET och .NET Core. För den nuvarande utgåvan, se .NET 9-versionen av den här artikeln .

dotnet-grpc är ett .NET Global Tool för att hantera Protobuf-referenser (.proto) i ett .NET gRPC-projekt. Verktyget kan användas för att lägga till, uppdatera, ta bort och lista Protobuf-referenser.

Installation

Kör följande kommando för att installera dotnet-grpc.NET Global Tool:

dotnet tool install -g dotnet-grpc

Note

Som standard representerar arkitekturen för de .NET-binärfiler som ska installeras den operativsystemarkitektur som körs. Information om hur du anger en annan OPERATIVSYSTEM-arkitektur finns i dotnet tool install, --arch option. Mer information finns i GitHub issue dotnet/AspNetCore.Docs #29262.

Lägga till referenser

dotnet-grpc kan användas för att lägga till Protobuf-referenser som <Protobuf /> objekt i .csproj filen:

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

Protobuf-referenserna används för att generera C#-klienten och/eller servertillgångarna. Verktyget dotnet-grpc kan:

  • Skapa en Protobuf-referens från lokala filer på disken.
  • Skapa en Protobuf-referens från en fjärrfil som anges av en URL.
  • Se till att rätt gRPC-paketberoenden läggs till i projektet.

Till exempel läggs paketet Grpc.AspNetCore till i en webbapp. Grpc.AspNetCore innehåller gRPC-server- och klientbibliotek och stöd för verktyg. Alternativt läggs paketen Grpc.Net.Client, Grpc.Tools och Google.Protobuf , som endast innehåller gRPC-klientbibliotek och stöd för verktyg, till i en konsolapp.

Lägg till fil

Kommandot add-file används för att lägga till lokala filer på disken som Protobuf-referenser. De angivna filsökvägarna:

  • Kan vara relativ till den nuvarande katalogen eller absoluta sökvägar.
  • Kan innehålla jokertecken för mönsterbaserad filglobbing.

Om några filer ligger utanför projektkatalogen läggs ett Link element till för att visa filen under mappen Protos i Visual Studio.

Usage

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

Arguments

Argument Description
files Protobuf-filens referenser. Dessa kan vara en sökväg till glob för lokala protobuf-filer.

Options

Kort alternativ Långt alternativ Description
-p --projekt Sökvägen till projektfilen som ska bearbetas. Om en fil inte har angetts söker kommandot i den aktuella katalogen efter en.
-s --tjänster Den typ av gRPC-tjänster som ska genereras. Om Default anges Both används för webbprojekt och Client används för icke-webbprojekt. Godkända värden är Both, Client, Default, None, Server.
-i --additional-import-dirs Ytterligare kataloger som ska användas vid matchning av importer för protobuf-filerna. Det här är en semikolonavgränsad lista över sökvägar.
--åtkomst Åtkomstmodifieraren som ska användas för de genererade C#-klasserna. Standardvärdet är Public. Godkända värden är Internal och Public.

Lägg till URL

Kommandot add-url används för att lägga till en fjärrfil som anges av en käll-URL som Protobuf-referens. En filsökväg måste anges för att ange var fjärrfilen ska laddas ned. Filsökvägen kan vara relativ till den aktuella katalogen eller en absolut sökväg. Om filsökvägen ligger utanför projektkatalogen läggs ett Link element till för att visa filen under den virtuella mappen Protos i Visual Studio.

Usage

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

Arguments

Argument Description
url URL:en till en fjärransluten protobuf-fil.

Options

Kort alternativ Långt alternativ Description
-o --output Anger nedladdningssökvägen för den fjärranslutna protobuf-filen. Det här är ett obligatoriskt alternativ.
-p --projekt Sökvägen till projektfilen som ska bearbetas. Om en fil inte har angetts söker kommandot i den aktuella katalogen efter en.
-s --tjänster Den typ av gRPC-tjänster som ska genereras. Om Default anges Both används för webbprojekt och Client används för icke-webbprojekt. Godkända värden är Both, Client, Default, None, Server.
-i --additional-import-dirs Ytterligare kataloger som ska användas vid matchning av importer för protobuf-filerna. Det här är en semikolonavgränsad lista över sökvägar.
--åtkomst Åtkomstmodifieraren som ska användas för de genererade C#-klasserna. Standardvärdet är Public. Godkända värden är Internal och Public.

Remove

Kommandot remove används för att ta bort Protobuf-referenser från .csproj filen. Kommandot accepterar sökvägsargument och käll-URL:er som argument. Verktyget:

  • Tar bara bort Protobuf-referensen.
  • Tar inte bort filen, även om den .proto ursprungligen laddades ned från en fjärr-URL.

Usage

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

Arguments

Argument Description
references URL-adresser eller filsökvägar för protobuf-referenser som ska tas bort.

Options

Kort alternativ Långt alternativ Description
-p --projekt Sökvägen till projektfilen som ska bearbetas. Om en fil inte har angetts söker kommandot i den aktuella katalogen efter en.

Refresh

Kommandot refresh används för att uppdatera en fjärrreferens med det senaste innehållet från käll-URL:en. Både sökvägen till nedladdningsfilen och käll-URL:en kan användas för att ange referensen som ska uppdateras. Note:

  • Hashvärdena för filinnehållet jämförs för att avgöra om den lokala filen ska uppdateras.
  • Ingen tidsstämpelinformation jämförs.

Verktyget ersätter alltid den lokala filen med fjärrfilen om en uppdatering behövs.

Usage

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

Arguments

Argument Description
references URL:er eller filvägar till fjärranslutna protobuf-referenser som ska uppdateras. Lämna argumentet tomt om du vill uppdatera alla fjärrreferenser.

Options

Kort alternativ Långt alternativ Description
-p --projekt Sökvägen till projektfilen som ska bearbetas. Om en fil inte har angetts söker kommandot i den aktuella katalogen efter en.
--dry-run Matar ut en lista över filer som skulle uppdateras utan att ladda ned något nytt innehåll.

List

Kommandot list används för att visa alla Protobuf-referenser i projektfilen. Om alla värden i en kolumn är standardvärden kan kolumnen utelämnas.

Usage

dotnet-grpc list [options]

Options

Kort alternativ Långt alternativ Description
-p --projekt Sökvägen till projektfilen som ska bearbetas. Om en fil inte har angetts söker kommandot i den aktuella katalogen efter en.

Ytterligare resurser