C# 在通用应用程序中加载二进制格式化程序文件

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

我有一个使用.NET 4.0构建的应用程序,我想将此应用程序移植到Windows 10应用程序

在旧的应用程序中,我使用二进制格式化程序将数据保存到二进制文件中

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