neuecc / ZeroFormatter

Infinitely Fast Deserializer for .NET, .NET Core and Unity.
MIT License
2.39k stars 247 forks source link

Bad IL Format. #129

Open axelriet opened 3 years ago

axelriet commented 3 years ago

Hi,

I'm hitting an exception during Serialize in .NET 5.0 on Windows running the sample code from the intro page on this repo. Any idea?

System.BadImageFormatException HResult=0x8007000B Message=Bad IL format. Source=ZeroFormatter.DynamicObjectSegments StackTrace: at ZeroFormatter.DynamicObjectSegments.ZeroFormatter_Formatters_DefaultResolver.Program.MyClass$Formatter.Serialize(Byte[]& , Int32 , MyClass ) at ZeroFormatter.ZeroFormatterSerializer.CustomSerializer1.Serialize[T](Byte[]& buffer, Int32 offset, T obj) at ZeroFormatter.ZeroFormatterSerializer.CustomSerializer1.Serialize[T](T obj) at ZeroFormatter.ZeroFormatterSerializer.Serialize[T](T obj) at Program.Main(String[] args) in Program.cs:line 62

SeymourRu commented 3 years ago

Due to some .Net internal optimisations, ZeroFormatter will no longer work on 3.0,3.1, 5.0, etc. Now you have multiple options:

Decide what is more suitable to you and do it :)