Protobuf deserialization not working after upgrade to .net 6

Hello,

I am trying to deserialize a buffer (byte array) into a model. I upgraded my solution from core 3.1 to 6 and it no longer works. I am receiving the error
Error: ProtoBuf.ProtoException: Invalid wire-type (Varint); this usually means you have over-written a file without truncating or setting the length; see https://stackoverflow.com/q/2152978/23354


My code is :
        public WeldSeamImageRun ConvertBuffer(byte[] buffer)
        {
            return DecodeProtoBuf<WeldSeamImageRun>(buffer);
        }

        private T DecodeProtoBuf<T>(byte[] buffer)
        {
            var trimmedBuffer = TrimEnd(buffer);

            var stream = new MemoryStream(trimmedBuffer);

            stream.Position = 0;

            stream.SetLength(trimmedBuffer.Length);

            var telegram = Serializer.DeserializeWithLengthPrefix<T>(stream, PrefixStyle.Base128, 1);

            return telegram;
        }

    [ProtoContract]
    public class WeldSeamImageRun
    {
        [ProtoMember(1)] public List<WeldSeamImage> Images { get; set; }
        [ProtoMember(2)] public string EntryCoil { get; set; }
        [ProtoMember(3)] public List<EntryCoilSection> Sections { get; set; }
    }


Thanks for any help in advance.
Was this page helpful?