title: Incorrectly aligned or overlapped by a non-object field error
body: <p>I'm trying to create the following structure:</p>
  
  <pre><code>    [StructLayout(LayoutKind.Explicit, Size=14)]
      public struct Message
      {
          [FieldOffset(0)]
          public ushort X;
          [FieldOffset(2)]
          [MarshalAs(UnmanagedType.ByValArray, SizeConst=5)]
          private ushort[] Y;
          [FieldOffset(12)]
          public ushort Z;
      }
  </code></pre>
  
  <p>and I get the following error:</p>
  
  <p>Could not load type 'Message' from assembly because it contains an object field at offset 4 that is incorrectly aligned or overlapped by a non-object field.</p>
  
  <p>Does anyone know why this is causing an error?</p>
  
  <p>Note: I can not use Pack because I'm working with the compact framework.
  Thanks.</p>