C# 在通用应用程序中加载二进制格式化程序文件
我有一个使用.NET 4.0构建的应用程序,我想将此应用程序移植到Windows 10应用程序 在旧的应用程序中,我使用二进制格式化程序将数据保存到二进制文件中C# 在通用应用程序中加载二进制格式化程序文件,c#,serialization,win-universal-app,binaryformatter,C#,Serialization,Win Universal App,Binaryformatter,我有一个使用.NET 4.0构建的应用程序,我想将此应用程序移植到Windows 10应用程序 在旧的应用程序中,我使用二进制格式化程序将数据保存到二进制文件中 using (FileStream fs2 = File.Create(serializationFile)) { var bformatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
using (FileStream fs2 = File.Create(serializationFile))
{
var bformatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
bformatter.Serialize(fs2, transactionData);
}
使用以下序列化的类:
[Serializable]
public class TransactionData
{
public TransactionData()
{
}
public string Name { get; set; }
public List<TransactionCategory> TransactionCategories { get; set; }
public List<TransactionMonth> TransactionMonths { get; set; }
}
以及:
是否可以在Universal App中加载此文件?如果是这样,怎么做呢?
BinaryFormatter
对框架差异非常敏感,您真的不应该将其用于持久存储,它实际上只用于同一台机器上AppDomains之间的IPC。如果你想坚持使用二进制格式,可以使用Xml格式化程序,也可以使用与第三方PCL兼容的库。通用应用程序的目标是.NET Framework的更小版本,这种版本适合移动设备。使其更小所需的切割功能,BinaryFormatter是一个落在地板上的。因此,不,您对现有的数据文件没有任何用处。
[Serializable]
System.Runtime.Serialization.Formatters