Gerenciar referências de Protobuf com dotnet-grpc

dotnet-grpc é uma Ferramenta Global do .NET Core para gerenciar referências de Protobuf (.proto) em um projeto gRPC do .NET. A ferramenta pode ser usada para adicionar, atualizar, remover e listar referências de Protobuf.

Instalação

Para instalar a dotnet-grpcFerramenta Global do .NET Core, execute o seguinte comando:

dotnet tool install -g dotnet-grpc

Observação

Por padrão, a arquitetura dos binários do .NET a serem instalados representa a arquitetura do SO sendo executado no momento. Para especificar uma arquitetura de SO diferente, consulte instalação da ferramenta dotnet, opção --arch. Para obter mais informações, confira o problema dotnet/AspNetCore.Docs #29262 do GitHub.

Adicionar referências

dotnet-grpc pode ser usado para adicionar referências de Protobuf como itens <Protobuf /> ao arquivo .csproj:

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

As referências de Protobuf são usadas para gerar os ativos do cliente C# e/ou do servidor. A ferramenta dotnet-grpc pode:

  • Criar uma referência de Protobuf de arquivos locais no disco.
  • Criar uma referência de Protobuf de um arquivo remoto especificado por uma URL.
  • Verificar se as dependências corretas do pacote gRPC são adicionadas ao projeto.

Por exemplo, o pacote Grpc.AspNetCore é adicionado a um aplicativo Web. Grpc.AspNetCore contém o servidor gRPC, bibliotecas de cliente e suporte a ferramentas. Como alternativa, os pacotes Grpc.Net.Client, Grpc.Tools e Google.Protobuf, que contêm apenas as bibliotecas de cliente gRPC e suporte a ferramentas, são adicionados a um aplicativo de console.

Adicionar arquivo

O comando add-file é usado para adicionar arquivos locais no disco como referências de Protobuf. Os caminhos de arquivo fornecidos:

  • Podem ser relativos ao diretório atual ou a caminhos absolutos.
  • Podem conter curingas para globbing de arquivo baseado em padrão.

Se algum arquivo estiver fora do diretório do projeto, um elemento Link será adicionado para exibir o arquivo na pasta Protos no Visual Studio.

Uso

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

Argumentos

Argument Descrição
files As referências de arquivo Protobuf. Elas podem ser um caminho para glob para arquivos protobuf locais.

Opções

Opção curta Opção longa Descrição
-p --projeto O caminho para o arquivo de projeto no qual operar. Se um arquivo não for especificado, o comando pesquisará um no diretório atual.
-S --serviços O tipo de serviços gRPC que devem ser gerados. Se Default for especificado, Both será usado para projetos Web e Client será usado para projetos não Web. Os valores aceitos são Both, Client, Default, None, Server.
-i --additional-import-dirs Diretórios adicionais a serem usados ao resolver importações para os arquivos protobuf. Esta é uma lista de caminhos separada por ponto e vírgula.
--acesso O modificador de acesso a ser usado para as classes C# geradas. O valor padrão é Public. Os valores aceitos são Internal e Public.

Adicionar URL

O comando add-url é usado para adicionar um arquivo remoto especificado por uma URL de origem como referência do Protobuf. Um caminho de arquivo deve ser fornecido para especificar onde baixar o arquivo remoto. O caminho do arquivo pode ser relativo ao diretório atual ou a um caminho absoluto. Se o caminho do arquivo estiver fora do diretório do projeto, um elemento Link será adicionado para exibir o arquivo na pasta virtual Protos no Visual Studio.

Uso

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

Argumentos

Argument Descrição
url A URL para um arquivo protobuf remoto.

Opções

Opção curta Opção longa Descrição
-o --output Especifica o caminho de download para o arquivo protobuf remoto. Trata-se de uma opção obrigatória.
-p --projeto O caminho para o arquivo de projeto no qual operar. Se um arquivo não for especificado, o comando pesquisará um no diretório atual.
-S --serviços O tipo de serviços gRPC que devem ser gerados. Se Default for especificado, Both será usado para projetos Web e Client será usado para projetos não Web. Os valores aceitos são Both, Client, Default, None, Server.
-i --additional-import-dirs Diretórios adicionais a serem usados ao resolver importações para os arquivos protobuf. Esta é uma lista de caminhos separada por ponto e vírgula.
--acesso O modificador de acesso a ser usado para as classes C# geradas. O valor padrão é Public. Os valores aceitos são Internal e Public.

Remover

O comando remove é usado para remover referências protobuf do arquivo .csproj. O comando aceita argumentos de caminho e URLs de origem como argumentos. A ferramenta :

  • Remove apenas a referência Protobuf.
  • Não exclui o arquivo .proto, mesmo que ele tenha sido baixado originalmente de uma URL remota.

Uso

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

Argumentos

Argument Descrição
referências As URLs ou caminhos de arquivo das referências protobuf a serem removidas.

Opções

Opção curta Opção longa Descrição
-p --projeto O caminho para o arquivo de projeto no qual operar. Se um arquivo não for especificado, o comando pesquisará um no diretório atual.

Atualizar

O comando refresh é usado para atualizar uma referência remota com o conteúdo mais recente da URL de origem. O caminho do arquivo de download e a URL de origem podem ser usados para especificar a referência a ser atualizada. Observação:

  • Os hashes do conteúdo do arquivo são comparados para determinar se o arquivo local deve ser atualizado.
  • Nenhuma informação de carimbo de data/hora é comparada.

A ferramenta sempre substitui o arquivo local pelo arquivo remoto se uma atualização for necessária.

Uso

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

Argumentos

Argument Descrição
referências As URLs ou caminhos de arquivo para referências remotas de protobuf que devem ser atualizadas. Deixe esse argumento vazio para atualizar todas as referências remotas.

Opções

Opção curta Opção longa Descrição
-p --projeto O caminho para o arquivo de projeto no qual operar. Se um arquivo não for especificado, o comando pesquisará um no diretório atual.
--dry-run Gera uma lista de arquivos que seriam atualizados sem baixar nenhum conteúdo novo.

Lista

O comando list é usado para exibir todas as referências de Protobuf no arquivo de projeto. Se todos os valores de uma coluna forem valores padrão, a coluna poderá ser omitida.

Uso

dotnet-grpc list [options]

Opções

Opção curta Opção longa Descrição
-p --projeto O caminho para o arquivo de projeto no qual operar. Se um arquivo não for especificado, o comando pesquisará um no diretório atual.

Recursos adicionais