Как использовать protobuf-net v2 на Windows Phone 7? - PullRequest
1 голос
/ 28 марта 2011

Я играю с бета-версией Protobuf-net v2 (r363 из SVN).Я построил его с использованием Visual Studio 2010, проекта Proto 2010.sln, а оттуда protobuf-net_Phone7 с использованием конфигурации Silverlight 2.Я могу сослаться на полученный DLL из проектов Windows Phone 7.Я упоминаю все это, потому что я не уверен на 100%, что это правильный способ его построения.

Предполагая, что это правильный вариант, я пытался создать очень простой проект, но он потерпел неудачу.Я получаю исключение MissingMethodException в ProtoBuf.Serializers.TypeSerializer.CreateInstance (источник ProtoReader) при попытке десериализации.Этот же код (но в форме вместо страницы) отлично работает на той же версии protobuf-net v2, которую я создал для Windows Mobile 6.5, поэтому мне интересно, правильно ли я его построил или есть другой способ его использованияв WP7.


    [ProtoContract]
    public class Person
    {
        [ProtoMember(1)]
        public int Id { get; set; }
        [ProtoMember(2)]
        public string Name { get; set; }
        [ProtoMember(3)]
        public Address Address { get; set; }
    }
    [ProtoContract]
    public class Address
    {
        [ProtoMember(1)]
        public string Line1 { get; set; }
        [ProtoMember(2)]
        public string Line2 { get; set; }
    }

    public partial class MainPage : PhoneApplicationPage
    {
        // Constructor
        public MainPage()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            Person person = new Person();
            person.Address = new Address();
            person.Address.Line1 = "First Line";
            person.Address.Line2 = "Second Line";
            person.Id = 1;
            person.Name = "Name";
            MemoryStream ms = new MemoryStream();

            Serializer.Serialize(ms, person);
            ms.Position = 0;
            Person person2 = Serializer.Deserialize(ms);
            ms.Position = 0;

        }

    }

1 Ответ

1 голос
/ 29 марта 2011

В этом блоге рассматриваются некоторые параметры - http://blog.chrishayuk.com/2010/12/protocol-buffers-generator.html - и говорится, что он создан для WP7

...