无法让Protobuf-net与vb.net一起工作

时间:2014-10-24 16:48:04

标签: vb.net protobuf-net

我最近用我的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工作的人都会提供帮助。

1 个答案:

答案 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文件(包含在软件包的根目录中)中进行了描述