У меня проблема с добавлением атрибута StructLayout в класс MessageContract, например:
[MessageContract(...)]
[StructLayout(LayoutKind.Sequential)]
public class Foo { ... }
Это вызывает неприятную ошибку при попытке сгенерировать WSDL из WCF:
Не удалось загрузить тип «Test.Foo» из сборки «Test, Version = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null», так как формат недопустим.
Я делаю это, чтобы не дать ReSharper автоматически переупорядочивать элементы моего класса. Я хочу, чтобы они были упорядочены в соответствии со значением Order атрибута DataMember / MessageBodyMember.
Это действительно странно, потому что работает по контрактам на данные, а не по контрактам с сообщениями по какой-то причине.