2014-10-24 3 views
1

최근에 내 vb.net 코드로 Protobuf-net r668을 시도했습니다. 내 데이터 클래스의 특성을 표시 할 수 있지만 Serialize 및 Deserialize 기능을 사용할 수 없습니다. 나는 http://code.google.com/p/protobuf-net/wiki/GettingStarted의 지침을 따라하지만이 C# 코드가 발견 vb.net에 코드를 변환하는 데 :vob.net에서 작동하는 Protobuf-net을 얻을 수 없습니다.

using (var file = File.Create("person.bin")) { 
    Serializer.Serialize(file, person); 
} 

가 직렬화 방법은로 vb.net으로 변환 할 때 작동을 표시하지 않습니다하지 않기 때문이 Protobuf.Serializer 클래스의 메서드

vb.net에서 Protobuf-net을 사용하는 사람이라면 누구 에게서나 참고가 될 것입니다.

+0

어떤 플랫폼을 타겟팅하고 있습니까? 이것이 일반 .NET이라면 ​​이것은 정상적으로 작동 할 것입니다 - 그것은 일반적인 정적 메서드입니다, 주목할 것도없고 특이한 것도 없습니다. 당신은 아마 Windows 전화 또는 유사품을 목표로하고 있습니까? –

+0

Visual Studio 2010을 사용하여 Windows 7, 64 비트에서 개발 중입니다. .NET Framework 4를 사용하고 있습니다. –

+0

* 대상 플랫폼 *은 무엇입니까? 일반 .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 파일 (패키지 루트에 포함되어 있음)에 설명되어 있습니다.

+0

감사합니다. Marc! 당신이 옳았습니다. 실수로 제작 한 코어 만 잡았습니다. 나는 DLL을 바꿨고 vb.net 코드는 이제 잘 돌아 간다. –

+0

또한 blazingly .net serialization보다 빠르다고 덧붙이고 싶습니다 ... 고마워요. –

+0

@ stackmike_2014 관점에서 볼 때, 저는 이론 상으로는 protobuf-net보다 훨씬 더 빠르지 만, 어떤 일을하고 있습니다. p –

관련 문제