c# – 不能使用DataContractSerializer – 程序集不匹配?

我正在尝试使用DataContractSerializer在IsolatedStorage中保存一些数据,但是我遇到了一些意想不到的问题.将序列化程序添加到代码后,我在构建期间遇到以下错误:

Error 3 The type ‘System.Xml.XmlWriter’ is defined in an assembly that
is not referenced. You must add a reference to assembly ‘System.Xml,
Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089’. C:\Users\Dániel\Documents\Visual
Studio
2012\Projects\GameLibs\SpaceshipConquest\SpaceshipConquest\SpaceshipConquest\Model\GameState.cs 47 13 SpaceshipConquest

Error 4 The type ‘System.Xml.XmlReader’ is defined in an assembly that
is not referenced. You must add a reference to assembly ‘System.Xml,
Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089’. C:\Users\Dániel\Documents\Visual
Studio
2012\Projects\GameLibs\SpaceshipConquest\SpaceshipConquest\SpaceshipConquest\Model\GameState.cs 62 21 SpaceshipConquest

由于已经引用了System.Xml程序集,我试图更改项目文件中的引用版本 – 但这会在运行时导致新的错误:

File or assembly name ‘System.Runtime.Serialization, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=B77A5C561934E089’, or one of its
dependencies, was not found.

不知道怎么解决这个问题?

编辑:我已经尝试将每个程序集版本设置为4.0.0.0,但似乎他们还需要System.dll的4.0.0.0版本,我无法设置.

编辑2:我也尝试将.cs文件复制到一个新项目,但这也没有解决问题.

最佳答案 经过多次试验后,问题得到了解决

using System.Xml.Serialization;

到.cs文件的标题.似乎即使程序集已导入,但如果没有指定我正在使用它的程序集,它也无法使用XmlSerializer.

点赞