Błąd przy serializacji

0
There was an error reflecting type 'System.Collections.Generic.List

Przykładowy wygląd klas: Serializuje obiekt List<AA>

    [Serializable]
    [XmlRoot("")]
    public class AA
    {
        public AA()
        {
        }

        [XmlAttribute("Name")]
        public string Name { get; set; }

        [XmlArray("arr")]
        [XmlArrayItem("arritem", typeof(xx))]
        public List<xx> xxlist = new List<xx>();
    }

    [Serializable]
    [XmlRoot("xx")]
    public class xx
    {
        public xx()
        {
        }

        [XmlElement("myenum")]
        public MyEnum enum= MyEnum.None;

        [XmlElement("1")]
        public long 1{ get; set; }

        [XmlElement("2")]
        public DateTime 2= DateTime.Now;

I teraz najciekawsze. Na większości komputerów wszystko działa, błąd mam na mojej wirtualnej maszynie z XP i jednym komputerze w7. Kombinowałem, żeby np zamiast get; set; przypisać już jakieś wartości (jak w kodzie wyżej) ale nic to nie dało. Serializuje tą samą metodą też inne klasy, które są podobnie zbudowane i tam wszystko działa na wszystkich komputerach. Co może być przyczyną, jakiś bug w Framoworku?

0

Pokaż co masz w InnerException

0
There was an error reflecting type 'AA' //z pierwszego posta

at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping(TypeModel model, String ns, ImportContext context, String dataType, XmlAttributes a, Boolean repeats, Boolean openModel, RecursionLimiter limiter)
at System.Xml.Serialization.XmlReflectionImporter.ImportElement(TypeModel model, XmlRootAttribute root, String defaultNamespace, RecursionLimiter limiter)
at System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping(Type type, XmlRootAttribute root, String defaultNamespace)
at System.Xml.Serialization.XmlSerializer..ctor(Type type, String defaultNamespace)
[..]
0

Dlaczego [XmlRoot("")] dla AA jest pusty ?
jeżeli serializujesz pojedyńczo XX wszystko jest ok ?

public List<xx> xxlist = new List<xx>();

zamień to na property

 
  private  List<xx>_xxlist = new List<xx>();
  public List<xx> xxlist 
 {
 get {..}
 set {..}
 }
0

tu z palca pisałem, jako przykład, nie będę wklejał kodu programu..

Problem jest taki, że wszystko działa tak jak ma działać, a wywala się tylko jednej osobie. (I mi na wirtualnej maszynie- XP)
na tym XP nie mam visuala, nie mam jak debugować. Nie mam jak wywołać tego błędu u siebie na systemie z visualem.

Mam też drugą inną podobną klasę- podobnie zbudowana i tam działa u wszystkich.

Nie wiem czy to jakiś błąd w .NET ale już nie wiem co nie tak..

0

jakiej wersji .NET używasz w aplikacji?

0
.Al napisał(a):

tu z palca pisałem, jako przykład, nie będę wklejał kodu programu..

Problem jest taki, że wszystko działa tak jak ma działać, a wywala się tylko jednej osobie. (I mi na wirtualnej maszynie- XP)
na tym XP nie mam visuala, nie mam jak debugować. Nie mam jak wywołać tego błędu u siebie na systemie z visualem.

Mam też drugą inną podobną klasę- podobnie zbudowana i tam działa u wszystkich.

Nie wiem czy to jakiś błąd w .NET ale już nie wiem co nie tak..

jak sobie rozwiązałeś problem to napisz co było nie tak..

1 użytkowników online, w tym zalogowanych: 0, gości: 1