Не удается использовать DataContractSerializer — несоответствие сборки?

Я пытаюсь использовать DataContractSerializer для сохранения некоторых данных в IsolatedStorage, однако столкнулся с некоторыми неожиданными проблемами. После добавления сериализатора в код при сборке получаю следующие ошибки:

Ошибка 3 Тип System.Xml.XmlWriter определен в сборке, на которую нет ссылок. Вы должны добавить ссылку на сборку «System.Xml, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089». C:\Users\Dániel\Documents\Visual Studio 2012\Projects\GameLibs\SpaceshipConquest\SpaceshipConquest\SpaceshipConquest\Model\GameState.cs 47 13 SpaceshipConquest

Ошибка 4 Тип System.Xml.XmlReader определен в сборке, на которую нет ссылок. Вы должны добавить ссылку на сборку «System.Xml, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089». C:\Users\Dániel\Documents\Visual Studio 2012\Projects\GameLibs\SpaceshipConquest\SpaceshipConquest\SpaceshipConquest\Model\GameState.cs 62 21 SpaceshipConquest

Поскольку на сборку System.Xml уже есть ссылка, я попытался изменить эталонную версию в файле проекта, но это привело к новой ошибке во время выполнения:

Имя файла или сборки «System.Runtime.Serialization, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = B77A5C561934E089» или одна из его зависимостей не найдена.

Есть идеи, как это решить?

Изменить: я пытался установить для каждой версии сборки значение 4.0.0.0, но кажется, что им также потребуется версия System.dll 4.0.0.0, которую я не могу установить.

Редактировать 2: я также пытался скопировать файлы .cs в новый проект, но это также не решило проблему.


person Daniel Rusznyak    schedule 18.09.2013    source источник
comment
Правильно, так что ни комментариев, ни вопросов, ни ответов... Т_Т   -  person Daniel Rusznyak    schedule 04.10.2013
comment
Ну да, потому что сообщение об ошибке было довольно специфичным.   -  person user1306322    schedule 18.10.2013


Ответы (1)


Проблема была решена, после долгих проб решение добавлялось

using System.Xml.Serialization;

в заголовок файла .cs. Кажется, что хотя сборка была импортирована, она не могла использовать XmlSerializer без указания того, что я использую эту сборку.

person Daniel Rusznyak    schedule 04.10.2013