如何从.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发布,目前是预览版。
BinaryFormatter
是System.Runtime.Serialization.Formatters
包/命名空间的一部分。
https://github.com/dotnet/corefx/blob/master/src/System.Runtime.Serialization.Formatters/src/System.Runtime.Serialization.Formatters.csproj L57
我如何安装这个包的夜间构建使我的代码工作?
你不能,至少不容易。. 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"部分更改添加/更改名称来实现。