找不到对System.Runtime.Serialization.Formatters.Binary的引用

时间:2012-06-19 15:56:46

标签: c# silverlight windows-phone-7 serialization

using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;

VS说,名称空间'System.Runtime.Serialization'中不存在类型或命名空间名称'Formatters'。好吧,我应该添加这个参考。单击项目>添加参考> .NET,在那里我只能看到System.Runtime.Serialization,就像Formatters一样。

System.Runtime.Serialization.dll似乎位于c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\Profile\WindowsPhone71\下 - 没有Formatters,也没有Formatters.Binary。

如何找到此参考?

2 个答案:

答案 0 :(得分:4)

BinaryFormatter(或Windows Phone)不支持Silverlight

答案 1 :(得分:3)

显然Silverlight没有BinaryFormatter。但是,存在一个可能为您提供类似功能的开源项目。它被称为sharpSerializer适用于Silverlight和WP7

我保留另一半我的答案,虽然不适合Silverlight,可能对那些仍然缺少其他项目中的参考的人有帮助,因为它应该纠正它。


对于不使用Silverlight并且可以访问BinaryFormatter的其他项目,您可能会错误地设置目标框架。

确保您使用项目中的完整.NET Framework 4 Profile而不是.NET Framework 4 Client Profile作为目标框架。请参见下图,您可以在项目的属性中找到这些设置。

Setting the Target framework