Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

122
Visualizações
Compartir un archivo de prototipo gRPC para todas las soluciones

Recientemente tuve en mis manos gRPC en .net core y hasta ahora estoy muy satisfecho con él.

el único problema que tengo son los archivos proto, por ejemplo: si realizo un cambio en el archivo MyProtos.proto en mi solución de servidor grpc. Tendré que actualizar los archivos MyProtos.proto en todas mis soluciones de cliente.

así que me preguntaba si hay formas de compartir los archivos proto...

Intenté crear una solución separada y colocar los archivos proto allí y luego hacer referencia a todas las demás soluciones, pero no pude hacer que funcionara.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Puede distribuir archivos proto con el paquete nuget. Utilice el archivo .nuspec para empaquetar los archivos. Por ejemplo, si sus archivos *.proto están en la carpeta proto My.Server.Proto.nuspec puede verse así:

 <?xml version="1.0" encoding="utf-8"?> <package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd"> <metadata> <id>My.Server.Proto</id> <version>1.0.0</version> <requireLicenseAcceptance>false</requireLicenseAcceptance> <description>My Server Proto Files</description> <authors>My Company Ltd.</authors> </metadata> <files> <file src="proto/**/*.proto" /> </files> </package>

Luego, en el proyecto donde desea consumir los archivos, instale las dependencias grpc

 <ItemGroup> <PackageReference Include="Google.Protobuf" Version="3.14.0" /> <PackageReference Include="Grpc.Tools" Version="2.34.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> </ItemGroup>

Instale su paquete proto:

 <ItemGroup> <PackageReference Include="My.Server.Proto" Version="1.0.0" GeneratePathProperty="true" /> </ItemGroup>

Tenga en cuenta GeneratePathProperty="true" . Esto le permitirá consultar la carpeta de instalación de nuget. Ahora agregue elementos Protobuf

 <ItemGroup> <Protobuf Include="$(PkgMy_Server_Proto)/proto/**/*.proto" ProtoRoot="$(PkgMy_Server_Proto)" GrpcServices="Client" /> </ItemGroup>

La variable $(PkgMy_Server_Proto) se resolverá en la carpeta My.Server.Proto My.Server.Proto. El nombre de la variable comienza con Pkg y le sigue el nombre del paquete cuando . reemplazado por _ .

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda