Gérer les références Protobuf avec dotnet-GRPC
Remarque
Ceci n’est pas la dernière version de cet article. Pour la version actuelle, consultez la version .NET 9 de cet article.
Avertissement
Cette version d’ASP.NET Core n’est plus prise en charge. Pour plus d’informations, consultez la stratégie de support .NET et .NET Core. Pour la version actuelle, consultez la version .NET 9 de cet article.
Important
Ces informations portent sur la préversion du produit, qui est susceptible d’être en grande partie modifié avant sa commercialisation. Microsoft n’offre aucune garantie, expresse ou implicite, concernant les informations fournies ici.
Pour la version actuelle, consultez la version .NET 9 de cet article.
dotnet-grpc
est un outil global .NET Core permettant de gérer les références Protobuf (.proto
) au sein d’un projet .NET gRPC. L’outil peut être utilisé pour ajouter, actualiser, supprimer et lister les références Protobuf.
Installation
Pour installer l’outil global .NET Core dotnet-grpc
, exécutez la commande suivante :
dotnet tool install -g dotnet-grpc
Remarque
Par défaut, l’architecture des fichiers binaires .NET à installer représente l’architecture du système d’exploitation en cours d’exécution. Pour spécifier une architecture de système d’exploitation différente, consultez dotnet tool install, --arch option. Pour plus d'informations, consultez le problème GitHub dotnet/AspNetCore.Docs n° 29262.
Ajouter des références
dotnet-grpc
peut être utilisé pour ajouter des références Protobuf en tant qu’éléments <Protobuf />
dans le fichier .csproj
:
<Protobuf Include="Protos\greet.proto" GrpcServices="Server" />
Les références Protobuf sont utilisées pour générer les ressources client et/ou serveur C#. L’outil dotnet-grpc
peut :
- Créer une référence Protobuf à partir de fichiers locaux sur le disque.
- Créer une référence Protobuf à partir d’un fichier distant spécifié par une URL.
- Garantir que les dépendances de package gRPC appropriées sont ajoutées au projet.
Par exemple, le package Grpc.AspNetCore
est ajouté à une application web. Grpc.AspNetCore
inclut la prise en charge des outils et des bibliothèques serveur et client gRPC. Les packages Grpc.Net.Client
, Grpc.Tools
et Google.Protobuf
, qui incluent uniquement la prise en charge des outils et des bibliothèques client gRPC, sont également ajoutés à une application console.
Ajouter un fichier
La commande add-file
est utilisée pour ajouter des fichiers locaux sur le disque en tant que références Protobuf. Chemins d’accès de fichiers fournis :
- Peut être relatif au répertoire actif ou aux chemins absolus.
- Peut contenir des caractères génériques pour l’utilisation de caractères génériques de fichier basée sur des modèles.
Si des fichiers se trouvent en dehors du répertoire du projet, un élément Link
est ajouté pour afficher le fichier sous le dossier Protos
dans Visual Studio.
Utilisation
dotnet-grpc add-file [options] <files>...
Arguments
Argument | Description |
---|---|
files | Références des fichiers Protobuf. Il peut s’agir d’un chemin vers glob pour les fichiers Protobuf locaux. |
Options
Option courte | Option longue | Description |
---|---|---|
-p | --project | Chemin d’accès au fichier projet à traiter. Si aucun fichier n’est spécifié, la commande effectue une recherche dans le répertoire actif. |
-s | --services | Type des services gRPC qui doivent être générés. Si Default est spécifié, Both est utilisé pour les projets Web et Client est utilisé pour les projets non basés sur le web. Les valeurs acceptées sont Both , Client , Default , None , Server . |
-i | --additional-import-dirs | Répertoires supplémentaires à utiliser lors de la résolution des importations pour les fichiers Protobuf. Il s’agit d’une liste de chemins séparés par des points-virgules. |
--access | Modificateur d’accès à utiliser pour les classes C# générées. La valeur par défaut est Public . Les valeurs acceptées sont Internal et Public . |
Ajouter une URL
La commande add-url
est utilisée pour ajouter un fichier distant spécifié par une URL source en tant que référence Protobuf. Un chemin de fichier doit être fourni pour spécifier où télécharger le fichier distant. Le chemin de fichier peut être un chemin relatif au répertoire actuel ou un chemin absolu. Si le chemin de fichier est en dehors du répertoire du projet, un élément Link
est ajouté pour afficher le fichier sous le dossier virtuel Protos
dans Visual Studio.
Utilisation
dotnet-grpc add-url [options] <url>
Arguments
Argument | Description |
---|---|
url | URL d’un fichier Protobuf distant. |
Options
Option courte | Option longue | Description |
---|---|---|
-o | --output | Spécifie le chemin de téléchargement du fichier Protobuf distant. C'est une option obligatoire. |
-p | --project | Chemin d’accès au fichier projet à traiter. Si aucun fichier n’est spécifié, la commande effectue une recherche dans le répertoire actif. |
-s | --services | Type des services gRPC qui doivent être générés. Si Default est spécifié, Both est utilisé pour les projets Web et Client est utilisé pour les projets non basés sur le web. Les valeurs acceptées sont Both , Client , Default , None , Server . |
-i | --additional-import-dirs | Répertoires supplémentaires à utiliser lors de la résolution des importations pour les fichiers Protobuf. Il s’agit d’une liste de chemins séparés par des points-virgules. |
--access | Modificateur d’accès à utiliser pour les classes C# générées. La valeur par défaut est Public . Les valeurs acceptées sont Internal et Public . |
Remove
La commande remove
est utilisée pour supprimer les références Protobuf du fichier .csproj
. La commande accepte les arguments de chemin d’accès et les URL sources en tant qu’arguments. L’outil :
- Supprime uniquement la référence Protobuf.
- Ne supprime pas le fichier
.proto
, même s’il a été téléchargé à l’origine à partir d’une URL distante.
Utilisation
dotnet-grpc remove [options] <references>...
Arguments
Argument | Description |
---|---|
références | URL ou chemins de fichier des références Protobuf à supprimer. |
Options
Option courte | Option longue | Description |
---|---|---|
-p | --project | Chemin d’accès au fichier projet à traiter. Si aucun fichier n’est spécifié, la commande effectue une recherche dans le répertoire actif. |
Actualiser
La commande refresh
est utilisée pour mettre à jour une référence distante avec le contenu le plus récent de l’URL source. Le chemin de fichier de téléchargement et l’URL source peuvent être utilisés pour spécifier la référence à mettre à jour. Remarque :
- Les hachages du contenu du fichier sont comparés pour déterminer si le fichier local doit être mis à jour.
- Aucune information d’horodatage n’est comparée.
L’outil remplace toujours le fichier local par le fichier distant si une mise à jour est nécessaire.
Utilisation
dotnet-grpc refresh [options] [<references>...]
Arguments
Argument | Description |
---|---|
références | URL ou chemins de fichier vers des références Protobuf distantes qui doivent être mises à jour. Laissez cet argument vide pour actualiser toutes les références distantes. |
Options
Option courte | Option longue | Description |
---|---|---|
-p | --project | Chemin d’accès au fichier projet à traiter. Si aucun fichier n’est spécifié, la commande effectue une recherche dans le répertoire actif. |
--dry-run | Génère la liste des fichiers qui seraient mis à jour sans télécharger de nouveau contenu. |
Liste
La commande list
est utilisée pour afficher toutes les références Protobuf dans le fichier projet. Si toutes les valeurs d’une colonne sont des valeurs par défaut, la colonne peut être omise.
Utilisation
dotnet-grpc list [options]
Options
Option courte | Option longue | Description |
---|---|---|
-p | --project | Chemin d’accès au fichier projet à traiter. Si aucun fichier n’est spécifié, la commande effectue une recherche dans le répertoire actif. |