Не могу получить Protobuf-net, работающий с vb.net
Я недавно попробовал Protobuf-net r668 с моим кодом vb.net. Я могу пометить атрибуты в своем классе данных, но не могу заставить работать функции сериализации и десериализации. Я следовал инструкциям по адресу http://code.google.com/p/protobuf-net/wiki/GettingStarted но, преобразовав код в vb.net, обнаружил, что этот код C#:
using (var file = File.Create("person.bin")) {
Serializer.Serialize(file, person);
}
Не будет работать при переводе на vb.net, потому что метод Serialize не отображается как метод класса Protobuf.Serializer.
Любые указатели от любого, у кого есть Protobuf-net, работающий в vb.net, были бы полезны.
1 ответ
Это должно просто работать; например, работает нормально:
Imports System.IO
Module Module1
Sub Main()
Dim strFileName As String = "foo.bin"
Dim f As FileStream = File.Create(strFileName)
Dim objData As Foo = New Foo With {.Name = "abcdef"}
ProtoBuf.Serializer.Serialize(f, objData)
End Sub
<ProtoBuf.ProtoContract>
Class Foo
<ProtoBuf.ProtoMember(1)>
Property Name As String
End Class
End Module
Сначала я подумал, что вы ссылались на версию protobuf-net.dll, предназначенную для одной из мобильных платформ, которая предоставляет некоторые функции немного по-другому. В частности, DLL из сборки "только ядро". Назначение каждой отдельной сборки описано в What Files Do I Need.txt
файл (который входит в корень пакета)