最近在项目开发过程中调用类库出现这个问题,查了下文档,发现是微软在新版本中禁用了BinaryFormatter
的Deserialize
,具体的一些信息可以看官方的文档
解决方案
BinaryFormatter 安全指南 | Microsoft Docs
不过文档中只给出了几个替代方案,就是使用 XmlSerializer
、DataContractSerializer
、BinaryReader
和BinaryWriter
、System.Text.Json
API 这几种方法替代
由于我这边不想对原有的引用类库做很大的改动,于是我又去找了新的解决办法,最后找到了一个临时替代的方案,这个只需要在项目的配置文件中添加一个属性 EnableUnsafeBinaryFormatterSerialization
设置为 true
即可
<EnableUnsafeBinaryFormatterSerialization>true</EnableUnsafeBinaryFormatterSerialization>
就像截图中的那样