title: Protobuf-net in WP7 throws FieldAccessExceptions
body: <p>I have a very simple class that I'm trying to serialize: </p>
  
  <pre><code>    [ProtoContract]
  public class SettingStore {
      public event EventHandler ContentsChanged;
  
      [ProtoMember(1)]
      private Dictionary&lt;string, string&gt; _StringVals = new Dictionary&lt;string, string&gt;(50);
  
      [ProtoMember(2)]
      private Dictionary&lt;string, int&gt; _IntVals = new Dictionary&lt;string, int&gt;(50);
  
      public SettingStore() {
      }
  
      //Bunch of accessors omited
  
      public static SettingStore DeSerialize(Stream data) {
          return Serializer.Deserialize&lt;SettingStore&gt;(data);
      }
  
      public void Serialize(Stream Target) {
          Serializer.Serialize&lt;SettingStore&gt;(Target, this);
      }
  }
  </code></pre>
  
  <p>On serialize, I get a FieldAccessException with the following stack trace:</p>
  
  <blockquote>
    <p>at System.Reflection.RuntimeFieldInfo.GetValue(Object obj)
       at ProtoBuf.Serializers.FieldDecorator.Write(Object value, ProtoWriter dest)
       at ProtoBuf.Serializers.TypeSerializer.Write(Object value, ProtoWriter dest)
       at ProtoBuf.Meta.RuntimeTypeModel.Serialize(Int32 key, Object value, ProtoWriter dest)
       at ProtoBuf.Meta.TypeModel.SerializeCore(ProtoWriter writer, Object value)
       at ProtoBuf.Meta.TypeModel.Serialize(Stream dest, Object value, SerializationContext context)
       at ProtoBuf.Meta.TypeModel.Serialize(Stream dest, Object value)
       at ProtoBuf.Serializer.Serialize[T](Stream destination, SettingStore instance)</p>
  </blockquote>
  
  <p>On deserialize I get the equivelant exception. </p>
  
  <p>If I make the two dictionaries public, everything works fine, but totally breaks my object structure. I'm using the v2 r431 distribution. The same exact code works just fine in .NET 4.0.</p>
  
  <p>Thanks!</p>