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 :

Fichier app.config et mises à jour ClickOnce.


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 256
    Points : 62
    Points
    62
    Par défaut Fichier app.config et mises à jour ClickOnce.
    Bonjour,

    J'ai un petit problème. J'ai programmé une application en C# contenant un fichier de configuration "app.config". Cette application est déployée via le système ClickOnce de Visual Studio cependant lorsqu'une mise à jour est effectuée au démarrage de mon application le fichier app.config est remis à zéro et l'utilisateur perd ainsi toute sa configuration.

    Je pense que je n'ai pas utilisé la bonne méthode pour sauvegarder la config de l'utilisateur. Enfin ce problème est plutôt trés génant.
    Je souhaiterai savoir comment je peux résoudre ce souci ou quelle autre méthode serait plus appropriée ?

    Merci.

  2. #2
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 256
    Points : 62
    Points
    62
    Par défaut
    Personne ne voit ?

  3. #3
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Utilise un fichier Settings pour sauvegarder les paramètres utilisateurs. Le fichier app.config est écrasé à chaque mise à jour clickonce.

  4. #4
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 256
    Points : 62
    Points
    62
    Par défaut
    Merci d'avoir répondu.
    Mais j'ai du mal à maitriser les fichiers settings surtout dans mon cas ou la configuration de l'utilisateur est dynamque. Tu as un lien qui expliquerait comment ajouter / supprimer dynamqiuement des parametres dans un fichier settings ?

    Sur le net, il n'y a pas grand chose à ce sujet.

  5. #5
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 256
    Points : 62
    Points
    62
    Par défaut
    Comment faites vous pour sauvegarder les paramètres utilisateur dans vos programmes parce que gérer les fichiers settings c'est quand même asseez lourd non ?

  6. #6
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Citation Envoyé par Shypster Voir le message
    Comment faites vous pour sauvegarder les paramètres utilisateur dans vos programmes parce que gérer les fichiers settings c'est quand même asseez lourd non ?
    Pourquoi ce serait lourd ? Les settings gèrent intrisèquement les valeurs initiales, le chargement, la sauvegarde, les profils utilisateurs fixes et mobiles, et les valeurs sont typées... Je ne vois pas ce que tu veux de plus...

  7. #7
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 256
    Points : 62
    Points
    62
    Par défaut
    bah écoutes en voulant juste insérer une propriété je fais ça :

    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
    18
    19
     
    private void ajout_parametre(string nom, Type type_param)
            {
                SettingsProperty new_property = new SettingsProperty(nom);
                new_property.PropertyType = type_param;
                new_property.IsReadOnly = false;
                new_property.SerializeAs=SettingsSerializeAs.String;
                new_property.DefaultValue = "";
     
                new_property.Provider = Properties.Settings.Default.Providers["LocalFileSettingsProvider"];
                SettingsPropertyValue newPropValue = new SettingsPropertyValue(new_property);
                newPropValue.PropertyValue = "maValue";
     
                Properties.Settings.Default.Properties.Add(new_property);
                Properties.Settings.Default.PropertyValues.Add(newPropValue);
                Properties.Settings.Default.Save();
                MessageBox.Show(Properties.Settings.Default.Properties.Count.ToString());
     
            }
    Et j'ai une erreur quand je fais le "save" :

    Le paramètre {0} ne dispose pas d'un ApplicationScopedSettingAttribute ou d'un UserScopedSettingAttribute.

    Il y a quand même pas mal de lignes à écrire pour juste stocker une valeur.
    Enfin à quoi correspond cette erreur, je pense qu'il faut définir la valeur "Scope" pour dire si portée application ou utilisateur ?

  8. #8
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Pourquoi tu n'utilises pas le designer de Visual Studio pour créer tes settings ? Tu pourras ensuite les utiliser facilement dans ton code

  9. #9
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 256
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par Thomas Lebrun Voir le message
    Pourquoi tu n'utilises pas le designer de Visual Studio pour créer tes settings ? Tu pourras ensuite les utiliser facilement dans ton code
    Bonjour,

    Par le code car les préférences utilisateur sont dynamqiues.
    je dois pouvoir ajouter, supprimer un paramètre pendant l'éxécution du programme.

    Voilà

  10. #10
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    J'ai du mal à concevoir l'idée de paramètres d'application dynamiques. Tu sais bien, en tant que concepteur, ce que tu laisses sauvegarder par l'utilisateur, non ?

  11. #11
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 256
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par Guulh Voir le message
    J'ai du mal à concevoir l'idée de paramètres d'application dynamiques. Tu sais bien, en tant que concepteur, ce que tu laisses sauvegarder par l'utilisateur, non ?
    Prenons un exemple, un programme qui fait de la copie de dossiers.
    Un utilisateur choisit le nombre de dossiers à copier, dynamqiuement on crée les textbox et des boutons pour qu'il puisse paramétrer les chemins d'accés pour chaque dossier en fonction de son choix.

    Ne sachant pas d'avance le choix de l'utilisateur et qu'il faille bien enregistrer les chemins d'accés qu'il aura définit il faut bien que je crée mes paramètres en fonction de son choix donc dynamiquement.

    Qu'en pensez-vous ?

  12. #12
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Mais même, à supposer qu'on puisse ajouter dynamiquement un paramètre "monParam", comment saurait-on à l'ouverture de l'application la fois d'après qu'il faut lire un paramètre monParam, et comment peut-on savoir à quoi il correspond ?

    Il est tout à fait possible de stocker des listes dans les paramètres : des listes de chaînes, d'entiers, d'URL, ... Cela devrait suffire et ne demande rien de dynamique, non ?

  13. #13
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 256
    Points : 62
    Points
    62
    Par défaut
    Il est tout à fait possible de stocker des listes dans les paramètres : des listes de chaînes, d'entiers, d'URL, ... Cela devrait suffire et ne demande rien de dynamique, non ?
    Comment utilises-tu par exemple une liste de chaines dans une propriété stp ? Effectivement, cela peut résoudre mon problème et rendrait beaucoup plus simple la solution.

  14. #14
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Dans le designer de settings de l'appli, on peut spécifier "StringCollection" comme type d'un paramètre.

Discussions similaires

  1. [C#][VS2K5]Acces au fichier App.Config en lecture / écriture
    Par gassisprog dans le forum Windows Forms
    Réponses: 2
    Dernier message: 06/05/2008, 15h17
  2. Fichier App.Config d'une bibliothèque de classes
    Par Poussy-Puce dans le forum C#
    Réponses: 2
    Dernier message: 25/04/2008, 20h19
  3. Réponses: 2
    Dernier message: 04/06/2006, 18h19
  4. Réponses: 9
    Dernier message: 04/05/2006, 17h33
  5. [VB.Net] Fichier app.config
    Par tomnie dans le forum Windows Forms
    Réponses: 24
    Dernier message: 28/03/2006, 10h33

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