Verwalten von Protobuf-Verweisen mit dotnet-grpc
Hinweis
Dies ist nicht die neueste Version dieses Artikels. Die aktuelle Version finden Sie in der .NET 9-Version dieses Artikels.
Warnung
Diese Version von ASP.NET Core wird nicht mehr unterstützt. Weitere Informationen finden Sie in der .NET- und .NET Core-Supportrichtlinie. Die aktuelle Version finden Sie in der .NET 9-Version dieses Artikels.
Wichtig
Diese Informationen beziehen sich auf ein Vorabversionsprodukt, das vor der kommerziellen Freigabe möglicherweise noch wesentlichen Änderungen unterliegt. Microsoft gibt keine Garantie, weder ausdrücklich noch impliziert, hinsichtlich der hier bereitgestellten Informationen.
Die aktuelle Version finden Sie in der .NET 9-Version dieses Artikels.
dotnet-grpc
ist ein globales .NET Core-Tool zum Verwalten von Protobuf (.proto
)-Verweisen in einem .NET gRPC-Projekt. Das Tool kann zum Hinzufügen, Aktualisieren, Entfernen und Auflisten von Protobuf-Verweisen verwendet werden.
Installation
Zur Installation des dotnet-grpc
globales .NET Core-Tool, führen Sie den folgenden Befehl aus:
dotnet tool install -g dotnet-grpc
Hinweis
Standardmäßig stellt die Architektur der zu installierenden .NET-Binärdateien die derzeit ausgeführte Betriebssystemarchitektur dar. Informationen zum Angeben einer anderen Betriebssystemarchitektur finden Sie unter dotnet tool install, --arch option. Weitere Informationen finden Sie unter dem GitHub-Issue dotnet/docs #29262.
Hinzufügen von Verweisen
dotnet-grpc
kann verwendet werden, um Protobuf-Verweise als <Protobuf />
-Elemente zur .csproj
-Datei hinzuzufügen:
<Protobuf Include="Protos\greet.proto" GrpcServices="Server" />
Die Protobuf-Verweise werden zum Generieren der C#-Client- und/oder -Serverobjekte verwendet. Das dotnet-grpc
-Tool kann Folgendes:
- Protobuf-Verweise aus lokalen Dateien auf dem Datenträger erstellen.
- Einen Protobuf-Verweis aus einer Remotedatei erstellen, die durch eine URL angegeben ist.
- Sicherstellen, dass die richtigen gRPC-Paketabhängigkeiten zum Projekt hinzugefügt werden.
Das Grpc.AspNetCore
-Paket wird z. B. zu einer Web-App hinzugefügt. Grpc.AspNetCore
enthält gRPC-Server- und -Clientbibliotheken sowie Toolunterstützung. Alternativ werden die Pakete Grpc.Net.Client
, Grpc.Tools
und Google.Protobuf
, die nur die gRPC-Clientbibliotheken und die Toolunterstützung enthalten, zu einer Konsolen-App hinzugefügt.
Datei hinzufügen
Der Befehl add-file
wird verwendet, um lokale Dateien auf dem Datenträger als Protobuf-Verweise hinzuzufügen. Die bereitgestellten Dateipfade:
- Kann relativ zum aktuellen Verzeichnis oder zu absoluten Pfaden sein.
- Kann Platzhalter für musterbasiertes Datei-Globbing enthalten.
Wenn sich Dateien außerhalb des Projektverzeichnisses befinden, wird ein Link
-Element hinzugefügt, um die Datei unter dem Ordner Protos
in Visual Studio anzuzeigen.
Verwendung
dotnet-grpc add-file [options] <files>...
Argumente
Argument | Beschreibung |
---|---|
Dateien | Die Protobuf-Dateiverweise. Dies kann ein Pfad zu „Glob“ für lokale Protobuf-Dateien sein. |
Optionen
Kurze Option | Lange Option | Beschreibung |
---|---|---|
-p | --project | Der Pfad zu der Projektdatei, mit der gearbeitet werden soll. Wenn keine Datei angegeben ist, sucht der Befehl im aktuellen Verzeichnis nach einer Projektdatei. |
-S | --services | Der Typ der gRPC-Dienste, die generiert werden sollen. Wenn Default angegeben ist, wird Both für Webprojekte und Client für Nicht-Webprojekte verwendet. Zulässige Werte sind Both , Client , Default , None , Server . |
-i | --additional-import-dirs | Zusätzliche Verzeichnisse, die bei der Auflösung von Importen für die Protobuf-Dateien verwendet werden. Dies ist eine durch Semikolons getrennte Liste von Pfaden. |
--access | Der Zugriffsmodifizierer, der für die generierten C#-Klassen verwendet werden soll. Der Standardwert ist Public . Zulässige Werte sind Internal und Public . |
URL hinzufügen
Der Befehl add-url
wird verwendet, um eine Remotedatei hinzuzufügen, die durch eine Quell-URL als Protobuf-Verweis angegeben wird. Es muss ein Dateipfad angegeben werden, um anzugeben, wo die Remotedatei heruntergeladen werden soll. Der Dateipfad kann relativ zum aktuellen Verzeichnis oder ein absoluter Pfad sein. Wenn der Dateipfad außerhalb des Projektverzeichnisses liegt, wird ein Link
-Element hinzugefügt, um die Datei unter dem virtuellen Ordner Protos
in Visual Studio anzuzeigen.
Verwendung
dotnet-grpc add-url [options] <url>
Argumente
Argument | Beschreibung |
---|---|
url | Die URL zu einer Protobuf-Remotedatei. |
Optionen
Kurze Option | Lange Option | Beschreibung |
---|---|---|
-o | --output | Gibt den Downloadpfad für die Protobuf-Remotedatei an. Diese Option muss angegeben werden. |
-p | --project | Der Pfad zu der Projektdatei, mit der gearbeitet werden soll. Wenn keine Datei angegeben ist, sucht der Befehl im aktuellen Verzeichnis nach einer Projektdatei. |
-S | --services | Der Typ der gRPC-Dienste, die generiert werden sollen. Wenn Default angegeben ist, wird Both für Webprojekte und Client für Nicht-Webprojekte verwendet. Zulässige Werte sind Both , Client , Default , None , Server . |
-i | --additional-import-dirs | Zusätzliche Verzeichnisse, die bei der Auflösung von Importen für die Protobuf-Dateien verwendet werden. Dies ist eine durch Semikolons getrennte Liste von Pfaden. |
--access | Der Zugriffsmodifizierer, der für die generierten C#-Klassen verwendet werden soll. Der Standardwert ist Public sein. Zulässige Werte sind Internal und Public . |
Remove
Der Befehl remove
wird verwendet, um Protobuf-Verweise aus der .csproj
-Datei zu entfernen. Der Befehl akzeptiert Pfadargumente und Quell-URLs als Argumente. Folgendes gilt für das Tool:
- Es entfernt nur den Protobuf-Verweis.
- Es löscht nicht die
.proto
-Datei, auch wenn sie ursprünglich von einer Remote-URL heruntergeladen wurde.
Verwendung
dotnet-grpc remove [options] <references>...
Argumente
Argument | Beschreibung |
---|---|
Referenzen | Die URLs oder Dateipfade der zu entfernenden Protobuf-Verweise. |
Optionen
Kurze Option | Lange Option | Beschreibung |
---|---|---|
-p | --project | Der Pfad zu der Projektdatei, mit der gearbeitet werden soll. Wenn keine Datei angegeben ist, sucht der Befehl im aktuellen Verzeichnis nach einer Projektdatei. |
Aktualisieren
Der Befehl refresh
wird verwendet, um einen Remoteverweis mit dem neuesten Inhalt von der Quell-URL zu aktualisieren. Sowohl der Pfad der Downloaddatei als auch die Quell-URL können zur Angabe des zu aktualisierenden Verweises verwendet werden. Hinweis:
- Die Hashes des Dateiinhalts werden verglichen, um festzustellen, ob die lokale Datei aktualisiert werden sollte.
- Es werden keine Zeitstempelinformationen verglichen.
Das Tool ersetzt immer die lokale Datei durch die Remotedatei, wenn eine Aktualisierung erforderlich ist.
Verwendung
dotnet-grpc refresh [options] [<references>...]
Argumente
Argument | Beschreibung |
---|---|
Referenzen | Die URLs oder Dateipfade zu Protobuf-Remoteverweisen, die aktualisiert werden sollten. Lassen Sie dieses Argument leer, um alle Remoteverweise zu aktualisieren. |
Optionen
Kurze Option | Lange Option | Beschreibung |
---|---|---|
-p | --project | Der Pfad zu der Projektdatei, mit der gearbeitet werden soll. Wenn keine Datei angegeben ist, sucht der Befehl im aktuellen Verzeichnis nach einer Projektdatei. |
--dry-run | Gibt eine Liste von Dateien aus, die ohne Herunterladen neuer Inhalte aktualisiert werden würden. |
Liste
Der Befehl list
wird verwendet, um alle Protobuf-Verweise in der Projektdatei anzuzeigen. Wenn alle Werte einer Spalte Standardwerte sind, kann die Spalte ausgelassen werden.
Verwendung
dotnet-grpc list [options]
Optionen
Kurze Option | Lange Option | Beschreibung |
---|---|---|
-p | --project | Der Pfad zu der Projektdatei, mit der gearbeitet werden soll. Wenn keine Datei angegeben ist, sucht der Befehl im aktuellen Verzeichnis nach einer Projektdatei. |