Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

125
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda