Ошибка «Тип или имя пространства имен« XmlSerializer »не найдена» при ссылке на System.Xml.dll » - PullRequest
10 голосов
/ 06 февраля 2011

Я уже потратил несколько часов на это:

XmlSerializer serializer;

ДА, using есть, ссылка есть, я сделал все решение в VS2010, используя .NET 4.0, такэто не какая-то из этих вещей.Если я зайду в Object Explorer, я найду нужный класс XmlSerializer в правильном пространстве имен, но если я попытаюсь ввести вышеуказанную строку в мой файл кода и скомпилировать, я получу страшный

или не удалось найти имя пространства имен 'XmlSerializer' (отсутствует директива using или ссылка на сборку?)

предупреждение о смерти.Я не получаю это на IntelliSense либо.Все остальные темы / сайты, на которые я смотрел, оказались пустыми или с одним из решений, которые я уже исключил.Что мне не хватает?Приветствия

Ответы [ 2 ]

27 голосов
/ 06 февраля 2011

Вы создаете приложение Silverlight?
Silverlight имеет XmlSerializer определенный внутри System.Xml.Serialization.dll сборки, на которую по умолчанию нет ссылки. Это часто приводит к путанице, потому что в других версиях платформы это определено в System.Xml.dll.

Вам нужно добавить System.Xml.Serialization.dll к ссылкам проекта, чтобы подключить его.

0 голосов
/ 11 января 2012

У меня была такая же проблема.
Перейдите на Object Explorer, выберите XmlSerializer и выберите Копировать. Затем вставьте в код

Это помогло мне по какой-то странной причине (нет, не было опечатки или чего-то в этом роде).

...