IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Exception non gérée du type 'System.InvalidOperationException'


Sujet :

C#

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Avril 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Avril 2016
    Messages : 4
    Par défaut Exception non gérée du type 'System.InvalidOperationException'
    Bonjour,

    En exécutant ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    private static void test()
    {
                TrainingCenterDatabase_t trainingData = null;
                using (TextReader reader = new StreamReader("D:\\activity.tcx"))
                {
                    try
                    {
                        XmlSerializer serializer = new XmlSerializer(typeof(TrainingCenterDatabase_t));
                        trainingData = (TrainingCenterDatabase_t)serializer.Deserialize(reader);
                        reader.Close();
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("Exception source: {0}", e.Source);
                    }
                }
    }
    J'ai un message d'erreur sur la ligne XmlSerializer :
    Une exception non gérée du type 'System.InvalidOperationException' s'est produite dans System.Xml.dll
    Informations supplémentaires : Impossible de générer une classe temporaire (result=1).
    Message "Impossible de générer une classe temporaire (result=1).
    error CS0030: Impossible de convertir le type 'TrainingCenterDatabasev2.xsd.Trackpoint_t[]' en 'TrainingCenterDatabasev2.xsd.Trackpoint_t'
    error CS0030: Impossible de convertir le type 'TrainingCenterDatabasev2.xsd.Trackpoint_t[]' en 'TrainingCenterDatabasev2.xsd.Trackpoint_t'
    error CS0029: Impossible de convertir implicitement le type 'TrainingCenterDatabasev2.xsd.Trackpoint_t' en 'TrainingCenterDatabasev2.xsd.Trackpoint_t[]'
    error CS0029: Impossible de convertir implicitement le type 'TrainingCenterDatabasev2.xsd.Trackpoint_t' en 'TrainingCenterDatabasev2.xsd.Trackpoint_t[]'
    Avez vous une idée de l'erreur que je commets ?
    Merci de vos réponses.

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Par défaut
    Salut,

    error CS0030: Impossible de convertir le type 'TrainingCenterDatabasev2.xsd.Trackpoint_t[]' en 'TrainingCenterDatabasev2.xsd.Trackpoint_t'

    tu as un ecart entre ton xml et le type vers lequel tu essaie de deserializer, d'un cote une liste de l'autre un seul element.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Avril 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Avril 2016
    Messages : 4
    Par défaut
    Merci mermich de ta réponse. Mais mon code plante à l'initialisation du xmlSerializer.

    Pour simplifier, cette fonction plante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            private static void test()
            {
                XmlSerializer ser = new XmlSerializer(typeof(TrainingCenterDatabase_t));
            }
    A ce moment là, le fichier xml n'est pas encore pris en compte.
    J'aurais une incohérence dans le fichier TrainingCenterDatabase_t.cs qui qui a été généré automatiquement à partir du fichier xsd ?

Discussions similaires

  1. Réponses: 0
    Dernier message: 26/08/2014, 20h03
  2. Réponses: 2
    Dernier message: 30/05/2014, 14h45
  3. Réponses: 0
    Dernier message: 30/05/2014, 10h54
  4. Réponses: 2
    Dernier message: 21/09/2013, 10h56
  5. Réponses: 2
    Dernier message: 09/07/2007, 11h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo