Gerenciar referências de Protobuf com dotnet-grpc
Observação
Esta não é a versão mais recente deste artigo. Para a versão atual, consulte a versão .NET 9 deste artigo.
Aviso
Esta versão do ASP.NET Core não tem mais suporte. Para obter mais informações, consulte a Política de Suporte do .NET e do .NET Core. Para a versão atual, consulte a versão .NET 9 deste artigo.
Importante
Essas informações relacionam-se ao produto de pré-lançamento, que poderá ser substancialmente modificado antes do lançamento comercial. A Microsoft não oferece nenhuma garantia, explícita ou implícita, quanto às informações fornecidas aqui.
Para a versão atual, consulte a versão .NET 9 deste artigo.
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-grpc
Ferramenta 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. |