locked
Silverlight 3 : problème encodage (ValidateXaml) RRS feed

  • Question

  • Bonjour à tous.

    Je démarre sur Silverlight. Pour cela, j'ai décidé de suivre le coach silverlight 3. Etant avec VS2008 Pro (FR) SP1, j'ai téléchargé et installé les extensions situées ici : http://www.microsoft.com/downloads/details.aspx?displaylang=fr&FamilyID=9442b0f2-7465-417a-88f3-5e7b5409e9dd.

    Je crée donc mon nouveau projet (Application de navigation Silverlight). Si je lance l'application immédiatement, cela fonctionne. Je suis donc le tutorial me demandant de faire des modifications dans le xaml de la page Views/Home.xaml. Je lance l'application et là, horreur, cela ne compile pas. j'obtiens l'erreur suivante :

    Erreur 2 Échec inattendu de la tâche "ValidateXaml".
    System.Xml.XmlException: Il existe un caractère non valide dans le codage donné. Ligne 15, position 102.
       à System.Xml.XmlTextReaderImpl.Throw(Exception e)
       à System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
       à System.Xml.XmlTextReaderImpl.Throw(Int32 pos, String res)
       à System.Xml.XmlTextReaderImpl.InvalidCharRecovery(Int32& bytesCount, Int32& charsCount)
       à System.Xml.XmlTextReaderImpl.GetChars(Int32 maxCharsCount)
       à System.Xml.XmlTextReaderImpl.ReadData()
       à System.Xml.XmlTextReaderImpl.ParseAttributeValueSlow(Int32 curPos, Char quoteChar, NodeData attr)
       à System.Xml.XmlTextReaderImpl.ParseAttributes()
       à System.Xml.XmlTextReaderImpl.ParseElement()
       à System.Xml.XmlTextReaderImpl.ParseElementContent()
       à System.Xml.XmlTextReaderImpl.Read()
       à MS.Internal.Xaml.XmlCompatibilityReader.Read()
       à MS.Internal.Xaml.Parser.XamlScanner.DoXmlRead()
       à MS.Internal.Xaml.Parser.XamlPullParser.<P_StartElement>d__1d.MoveNext()
       à MS.Internal.Xaml.Parser.XamlPullParser.<P_Element>d__7.MoveNext()
       à MS.Internal.Xaml.Parser.XamlPullParser.<P_ElementContent>d__39.MoveNext()
       à MS.Internal.Xaml.Parser.XamlPullParser.<P_ElementBody>d__23.MoveNext()
       à MS.Internal.Xaml.Parser.XamlPullParser.<P_Element>d__7.MoveNext()
       à MS.Internal.Xaml.Parser.XamlPullParser.<P_ElementContent>d__39.MoveNext()
       à MS.Internal.Xaml.Parser.XamlPullParser.<P_ElementBody>d__23.MoveNext()
       à MS.Internal.Xaml.Parser.XamlPullParser.<P_Element>d__7.MoveNext()
       à MS.Internal.Xaml.Parser.XamlPullParser.<P_ElementContent>d__39.MoveNext()
       à MS.Internal.Xaml.Parser.XamlPullParser.<P_ElementBody>d__23.MoveNext()
       à MS.Internal.Xaml.Parser.XamlPullParser.<P_Element>d__7.MoveNext()
       à MS.Internal.Xaml.Parser.XamlPullParser.<Parse>d__0.MoveNext()
       à MS.Internal.Xaml.TextReaderEnumerator.MoveNext()
       à MS.Internal.Xaml.XamlTextReader.Read()
       à MS.MarkupCompiler.ValidationPass.ValidateXaml(String fileName, Assembly[] assemblies, Assembly callingAssembly, TaskLoggingHelper log, Boolean shouldThrow)
       à Microsoft.Silverlight.Build.Tasks.ValidateXaml.XamlValidator.Execute()
       à Microsoft.Silverlight.Build.Tasks.ValidateXaml.XamlValidator.Execute()
       à Microsoft.Silverlight.Build.Tasks.ValidateXaml.Execute()
       à Microsoft.Build.BuildEngine.TaskEngine.ExecuteInstantiatedTask(EngineProxy engineProxy, ItemBucket bucket, TaskExecutionMode howToExecuteTask, ITask task, Boolean& taskResult) C:\Program Files\MSBuild\Microsoft\Silverlight\v3.0\Microsoft.Silverlight.Common.targets 210 9 FormationSilverlight


    En fait, il s'avère que le texte (propriété Text) d'un des contrôles contient un accent (vidéos). Si j'enlève ce caractère (videos), cela fonctionne. J'ai beau chercher dans les paramètres de configuration, je ne vois pas comment faire pour que ma solution générée à partir des versions françaises des divers produits fonctionne en français (avec les accents donc) et, cerise sur le gâteau, fonctionne par défaut.

    J'ai déjà tout désinstallé pour réinstallé. Merci de votre aide.
    mercredi 13 janvier 2010 11:07

Réponses

  • Bonjour,

    Je suis en train de suivre le tutoriel moi aussi et j'obtient le même message d'erreur à la compilation du premier exemple.
    Je n'ai pas vraiment d'explication mais étant donné le message obtenu concernant l'encodage j'ai ré enregistrer le fichier (écraser) avec l'encodage UTF-8.

    Fichier > enregistrer Home.xaml sous >
    puis dans le bouton enregistrer sélectionné encodage UTF-8.

    Après cela la compilation passe sans problème.

    en espérant que cela vous aidera.

    Greg
    jeudi 11 février 2010 14:49

Toutes les réponses

  • Bonjour,

    J’ai essayé à reproduire votre problème mais, malheureusement, je n’y arrive pas. Pouvez-vous m’indiquer exactement le fragment de code qui vous fait des problèmes et le tutoriel que vous avez essayé à suivre ?

    Merci,

    Alex


    Alex Petrescu - MSFT
    jeudi 14 janvier 2010 09:46
  • Bonjour,

    J'ai eu le meme problème avec les minuscules accentuées.
    C'est le fichier "home.xaml" généré qui crée le bug.
    Une solution de contournement : recopier le fichier "home.xaml" du corrigé et ensuite tout va bien !

    Sylvain Bigaud
    sb@bigaud.com
    vendredi 22 janvier 2010 19:08
  • Bonjour

    J'ai exatement le même problème cité ci-dessus ...

    je suis en train de suivre ce tutoriel http://msdn.microsoft.com/fr-fr/silverlight/msdn.coachsilverlight.aspx et à la première compilation ...boum ...

    voici le message d'erreur : Erreur 1 Il existe un caractère non valide dans le codage donné.

    Malgré des recherches je ne trouve pas de réponse ....le fait de remplacer par le fichier de la solution ne marche pas et n'est pas pour moi une solution ...

    Avez vous une explication et une solution ?

    Merci

    mardi 2 février 2010 18:39
  • Bonjour,

    Je suis en train de suivre le tutoriel moi aussi et j'obtient le même message d'erreur à la compilation du premier exemple.
    Je n'ai pas vraiment d'explication mais étant donné le message obtenu concernant l'encodage j'ai ré enregistrer le fichier (écraser) avec l'encodage UTF-8.

    Fichier > enregistrer Home.xaml sous >
    puis dans le bouton enregistrer sélectionné encodage UTF-8.

    Après cela la compilation passe sans problème.

    en espérant que cela vous aidera.

    Greg
    jeudi 11 février 2010 14:49
  • Merci Greg, ca fonctionne.
    lundi 31 mai 2010 09:20
  • Merci cela fonctionne
    En espérant avoir pu rendre service (MehdiH)
    Retrouvez moi sur Office Users
    lundi 14 février 2011 14:21