Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

119
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!