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

265
Views
Migración de protobuf-net versión 2.X a 3.X

Estoy haciendo una actualización de la referencia de mi librería protobuf-net, específicamente de la 2.4.4 a la 3.0.101 . Anteriormente, usábamos null en las listas porque contenían información significativa para la empresa (p. ej., new[] { "one", "two", null, null, "five" } ). Sin embargo, no son compatibles con 3.x hasta donde yo entiendo ( https://protobuf-net.github.io/protobuf-net/releasenotes# ).

¿Hay alguna estrategia de migración sugerida para colecciones con valores nulos?

Puedo mitigar el cambio en el futuro con campos adicionales (por ejemplo, transponer la colección a un diccionario y volver a serializar/deserializar), sin embargo, la compatibilidad con versiones anteriores parece rota para los datos serializados con bibliotecas 2.x. ¿Existen guías de migración?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Dado que 3.x aún no admite la retención nula, sus opciones son algo limitadas:

  1. Envíe un PR para agregar la función que falta. Un vistazo rápido al código fuente de protobuf me hace pensar que sería bastante trivial de implementar. En la línea 161 del archivo fuente vinculado, parece haber un tiro para nulos, que es donde comenzaría. Sin embargo, podría estar muy equivocado acerca de lo complicado que sería esto.
  2. Vea si puede usar ambas bibliotecas al mismo tiempo. Necesitaría saber (o detectar) si los datos para serializar están en formato v2 o v3 (no lo he comprobado, pero me sorprendería si no hubiera una forma de detectar esto mirando los primeros bytes). Es posible que deba compilar una versión personalizada para darle un espacio de nombres diferente, para que los dos coexistan.
  3. Migrar datos a v3. Puede hacer esto como una operación única (menores cantidades de datos que usted controla) o bajo demanda (grandes cantidades de datos o datos recibidos externamente). Deberá rediseñar los tipos utilizados en las listas con valores nulos, de modo que ya no tenga valores nulos (por ejemplo, al tener un valor personalizado que represente lógicamente el valor nulo).
  4. Quédate con la v2. Es estable y funciona excepcionalmente bien, por lo que, a menos que tenga una necesidad específica de actualizar, puede que no valga la pena el esfuerzo.
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!