Dela via


Hantera Protobuf-referenser med dotnet-grpc

Note

Det här är inte den senaste versionen av den här artikeln. För den nuvarande utgåvan, se .NET 9-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 .

Important

Den här informationen gäller en förhandsversionsprodukt som kan ändras avsevärt innan den släpps kommersiellt. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, med avseende på den information som tillhandahålls här.

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.

Add references

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 Grpc.AspNetCore läggs paketet 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.

Add file

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 aktuella katalogen eller absoluta sökvägar.
  • Kan innehålla jokertecken för mönsterbaserad filglädje.

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-filen refererar till. Dessa kan vara en sökväg till glob för lokala protobuf-filer.

Options

Short option Long option Description
-p --project Sökvägen till projektfilen som ska köras. Om en fil inte har angetts söker kommandot i den aktuella katalogen efter en.
-s --services 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.
--access Åtkomstmodifieraren som ska användas för de genererade C#-klasserna. Standardvärdet är Public. Godkända värden är Internal och Public.

Add 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

Short option Long option Description
-o --output Anger nedladdningssökvägen för den fjärranslutna protobuf-filen. Det här är ett obligatoriskt alternativ.
-p --project Sökvägen till projektfilen som ska köras. Om en fil inte har angetts söker kommandot i den aktuella katalogen efter en.
-s --services 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.
--access Å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. The tool:

  • 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:er eller filsökvägar för protobuf-referenser att ta bort.

Options

Short option Long option Description
-p --project Sökvägen till projektfilen som ska köras. 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 filsökvägar till fjärranslutna protobuf-referenser som ska uppdateras. Lämna argumentet tomt om du vill uppdatera alla fjärrreferenser.

Options

Short option Long option Description
-p --project Sökvägen till projektfilen som ska köras. 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

Short option Long option Description
-p --project Sökvägen till projektfilen som ska köras. Om en fil inte har angetts söker kommandot i den aktuella katalogen efter en.

Additional resources