net10 中报错BinaryFormatter
解决.net10 中报错,BinaryFormatter serialization and deserialization are disabled within this application
安装包System.Runtime.Serialization.Formatters

双击项目,设置.csproj
<EnableUnsafeBinaryFormatterSerialization>true</EnableUnsafeBinaryFormatterSerialization>
<NoWarn>$(NoWarn);SYSLIB0011</NoWarn>

补一个序列化和反序列化的方法
public static void BinSerializeAndSaveFile<T>(T obj, string fileName) { try { using (FileStream stream= new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.ReadWrite)) { BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(stream, obj); stream.Flush(); } } catch (Exception e) { } } public static T BinDeserialize<T>(string fileName) { T t = default(T); try { using (FileStream stream = new FileStream(fileName, FileMode.Open)) { return (T)new BinaryFormatter().Deserialize(stream); } } catch (Exception e) { return t; } }
使用:
private void SplitButton_Click(object sender, RoutedEventArgs e) { BinSerializeAndSaveFile(new Person() { Name = "zs", Age = 10 },"D:\\s1.solution"); Person p= BinDeserialize<Person>("D:\\s1.solution"); }
[Serializable] public class Person { public Person() { } public string Name { get; set; } public int Age { get; set; } }

浙公网安备 33010602011771号