我最近用我的vb.net代码尝试过Protobuf-net r668。我可以在我的数据类上标记属性,但无法使序列化和反序列化功能起作用。 我按照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类的方法。
任何在vb.net中使用Protobuf-net工作的人都会提供帮助。
答案 0 :(得分: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
文件(包含在软件包的根目录中)中进行了描述