BinaryFormatter 兼容性包

注意

兼容性包不受支持且不安全。 强烈建议不要依赖此包,而是从 BinaryFormatter 迁出

无法从 BinaryFormatter 迁出的 .NET 9+ 用户可以安装不受支持的 System.Runtime.Serialization.Formatters NuGet 包,并将 System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization AppContext 开关设置为 true

注意

请注意,此包不会更改 BinaryFormatter 的类型标识。 无需更新现有库来依赖此包即可使用它。 仅应用程序项目需要依赖此包。

该包会将 BinaryFormatter 的随机实现替换为正常运行的实现,包括其漏洞和风险。 如果你迫不及待地要迁移到 .NET 9 和更高版本,但尚未替换 BinaryFormatter 的使用,这是一个权宜之计。 仍强烈建议你从 BinaryFormatter 迁出

<PropertyGroup>
  <TargetFramework>net9.0</TargetFramework>
  <EnableUnsafeBinaryFormatterSerialization>true</EnableUnsafeBinaryFormatterSerialization>
</PropertyGroup>

<ItemGroup>
  <PackageReference Include="System.Runtime.Serialization.Formatters" Version="9.0.0-*" />
</ItemGroup>

注意

兼容性包不受支持且不安全。 强烈建议不要依赖此包,而是从 BinaryFormatter 迁出