如何从.net standard,Version=v1.7访问BinaryFormatter

本文关键字:v1 访问 BinaryFormatter Version net standard | 更新日期: 2023-09-27 18:08:56

我迫切需要BinaryFormatter使我的应用程序与。net Framework 4.5兼容。

我知道在以前的。NET Core版本中是不可能拥有它的。然而,我看到BinaryFormatter计划在v1.7发布,目前是预览版。

BinaryFormatterSystem.Runtime.Serialization.Formatters包/命名空间的一部分。

https://github.com/dotnet/corefx/blob/master/src/System.Runtime.Serialization.Formatters/src/System.Runtime.Serialization.Formatters.csproj L57

我如何安装这个包的夜间构建使我的代码工作?

如何从.net standard,Version=v1.7访问BinaryFormatter

你不能,至少不容易。. net Core MyGet提要的最新包仍然不包含BinaryFormatter .

我不认为你会每晚安装。如果这个功能不在。net核心框架中,但你仍然希望你的应用程序使用。net framework 4.5命名空间,你可以使用编译指令

#if net45
System.Runtime.Serialization.Formatters.Binary;  
public class BinaryFormatSerializer : ISerializer
{
    public string Serialize(object obj)
    {
        var serializer = new BinaryFormatter();
        string binData = serializer.Serialize(obj);
        return new BinaryFormatter(binData).Format();
    }
}
#else // Below you would put whatever logic 
      // to not use 4.5 framework whenever 
      // BinaryFormatter is added to core

如果你只是想在。net框架上运行你的。net Core应用程序,你可以通过在JSON配置文件的"frameworks"部分更改添加/更改名称来实现。