Condividi tramite


Gestire i riferimenti Protobuf con dotnet-grpc

Nota

Questa non è la versione più recente di questo articolo. Per la versione corrente, vedere la versione .NET 8 di questo articolo.

Avviso

Questa versione di ASP.NET Core non è più supportata. Per altre informazioni, vedere Criteri di supporto di .NET e .NET Core. Per la versione corrente, vedere la versione .NET 8 di questo articolo.

Importante

Queste informazioni si riferiscono a un prodotto non definitive che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.

Per la versione corrente, vedere la versione .NET 8 di questo articolo.

dotnet-grpc è uno strumento globale .NET Core per la gestione dei riferimenti Protobuf (.proto) all'interno di un progetto gRPC .NET. Lo strumento può essere usato per aggiungere, aggiornare, rimuovere ed elencare i riferimenti Protobuf.

Installazione

Per installare lo dotnet-grpc strumento globale .NET Core, eseguire il comando seguente:

dotnet tool install -g dotnet-grpc

Nota

Per impostazione predefinita, l'architettura dei file binari .NET da installare rappresenta l'architettura del sistema operativo attualmente in esecuzione. Per specificare un'architettura del sistema operativo diversa, vedere dotnet tool install, --opzione arch.. Per altre informazioni, vedere Problema di GitHub dotnet/AspNetCore.Docs #29262.

Aggiungere riferimenti

dotnet-grpc può essere usato per aggiungere riferimenti Protobuf come <Protobuf /> elementi al .csproj file:

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

I riferimenti Protobuf vengono usati per generare gli asset client e/o server C#. Lo dotnet-grpc strumento può:

  • Creare un riferimento Protobuf dai file locali su disco.
  • Creare un riferimento Protobuf da un file remoto specificato da un URL.
  • Verificare che le dipendenze del pacchetto gRPC corrette vengano aggiunte al progetto.

Ad esempio, il Grpc.AspNetCore pacchetto viene aggiunto a un'app Web. Grpc.AspNetCore contiene le librerie client e il server gRPC e il supporto degli strumenti. In alternativa, i Grpc.Net.Clientpacchetti , Grpc.Tools e Google.Protobuf , che contengono solo le librerie client gRPC e il supporto degli strumenti, vengono aggiunti a un'app console.

Aggiungere file

Il add-file comando viene usato per aggiungere file locali su disco come riferimenti Protobuf. I percorsi dei file forniti:

  • Può essere relativo alla directory corrente o ai percorsi assoluti.
  • Può contenere caratteri jolly per il globing di file basato su criteri.

Se i file si trovano all'esterno della directory del progetto, viene aggiunto un Link elemento per visualizzare il file nella cartella Protos in Visual Studio.

Utilizzo

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

Argomenti

Argomento Descrizione
files Riferimenti al file protobuf. Può trattarsi di un percorso di glob per i file protobuf locali.

Opzioni

Opzione breve Opzione Lunga Descrizione
-p --progetto Percorso del file di progetto su cui operare. Se non viene specificato un file, il comando ne cerca uno nella directory corrente.
-s --servizi Tipo di servizi gRPC da generare. Se Default viene specificato, Both viene utilizzato per i progetti Web e Client viene usato per i progetti non Web. I valori accettati sono Both, Client, Default, None, . Server
-i --additional-import-dirs Directory aggiuntive da usare per la risoluzione delle importazioni per i file protobuf. Si tratta di un elenco di percorsi delimitato da punto e virgola.
--accesso Modificatore di accesso da usare per le classi C# generate. Il valore predefinito è Public. I valori accettati sono Internal e Public.

Aggiungere URL

Il add-url comando viene usato per aggiungere un file remoto specificato da un URL di origine come riferimento Protobuf. È necessario specificare il percorso di un file per specificare dove scaricare il file remoto. Il percorso del file può essere relativo alla directory corrente o a un percorso assoluto. Se il percorso del file si trova all'esterno della directory del progetto, viene aggiunto un Link elemento per visualizzare il file nella cartella Protos virtuale in Visual Studio.

Utilizzo

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

Argomenti

Argomento Descrizione
URL. URL di un file protobuf remoto.

Opzioni

Opzione breve Opzione Lunga Descrizione
-o --output Specifica il percorso di download per il file protobuf remoto. Si tratta di un'opzione obbligatoria.
-p --progetto Percorso del file di progetto su cui operare. Se non viene specificato un file, il comando ne cerca uno nella directory corrente.
-s --servizi Tipo di servizi gRPC da generare. Se Default viene specificato, Both viene utilizzato per i progetti Web e Client viene usato per i progetti non Web. I valori accettati sono Both, Client, Default, None, . Server
-i --additional-import-dirs Directory aggiuntive da usare per la risoluzione delle importazioni per i file protobuf. Si tratta di un elenco di percorsi delimitato da punto e virgola.
--accesso Modificatore di accesso da usare per le classi C# generate. Il valore predefinito è Public. I valori accettati sono Internal e Public.

Rimuovi

Il remove comando viene usato per rimuovere i riferimenti Protobuf dal .csproj file. Il comando accetta argomenti di percorso e URL di origine come argomenti. Lo strumento :

  • Rimuove solo il riferimento Protobuf.
  • Non elimina il .proto file, anche se è stato originariamente scaricato da un URL remoto.

Utilizzo

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

Argomenti

Argomento Descrizione
references URL o percorsi di file dei riferimenti protobuf da rimuovere.

Opzioni

Opzione breve Opzione Lunga Descrizione
-p --progetto Percorso del file di progetto su cui operare. Se non viene specificato un file, il comando ne cerca uno nella directory corrente.

Refresh

Il refresh comando viene usato per aggiornare un riferimento remoto con il contenuto più recente dall'URL di origine. Sia il percorso del file di download che l'URL di origine possono essere usati per specificare il riferimento da aggiornare. Nota:

  • Gli hash del contenuto del file vengono confrontati per determinare se il file locale deve essere aggiornato.
  • Non viene confrontata alcuna informazione sul timestamp.

Lo strumento sostituisce sempre il file locale con il file remoto se è necessario un aggiornamento.

Utilizzo

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

Argomenti

Argomento Descrizione
references URL o percorsi di file per riferimenti protobuf remoti che devono essere aggiornati. Lasciare vuoto questo argomento per aggiornare tutti i riferimenti remoti.

Opzioni

Opzione breve Opzione Lunga Descrizione
-p --progetto Percorso del file di progetto su cui operare. Se non viene specificato un file, il comando ne cerca uno nella directory corrente.
--dry-run Restituisce un elenco di file che verrebbero aggiornati senza scaricare alcun nuovo contenuto.

List

Il list comando viene usato per visualizzare tutti i riferimenti Protobuf nel file di progetto. Se tutti i valori di una colonna sono valori predefiniti, la colonna può essere omessa.

Utilizzo

dotnet-grpc list [options]

Opzioni

Opzione breve Opzione Lunga Descrizione
-p --progetto Percorso del file di progetto su cui operare. Se non viene specificato un file, il comando ne cerca uno nella directory corrente.

Risorse aggiuntive