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

Dotnet Discussion :

[VS2003][.NET 1.1][VB.NET] un seul fichier .exe.config pour plusieurs applications ?


Sujet :

Dotnet

  1. #1
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 270
    Points : 92
    Points
    92
    Par défaut [VS2003][.NET 1.1][VB.NET] un seul fichier .exe.config pour plusieurs applications ?
    Bonjour à tous et à toutes,

    J'espère que je poste au bon endroit.

    Ma question est la suivante, j'ai plusieurs petites "applications windows" qui utilisent les mêmes paramètres de configuration (les fichiers App.config et monapplication.exe.config ont les mêmes contenus). Je voulais savoir s'il était possible de spécifier le chemin vers le fichier de conf, en fait de ne pas utiliser le monapplication.exe.config, mais un autre qui serait en fait commun à tous .... j'suis flemmarde et lors des mises en prod, ça me saoule de me taper la même modification plusieurs fois

    Merci d'avance pour votre aide précieuse

  2. #2
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 270
    Points : 92
    Points
    92
    Par défaut
    personne n'a d'infos pour moi ?

  3. #3
    Membre du Club

    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 38
    Points : 64
    Points
    64
    Par défaut
    Salut,

    le fichier de configuration doit être placer dans le rep de l'executable et on ne peut pas spécifier le chemain de fichier de configuration -> donc impossible de partagé le fichier on plus le nom de fichier est doit êre nonExecuatble.exe.config.mais tu peux voir le fichier de configuration de la machine machine.config mais il touche a tous les application DotNet installé sur la machine (web + windows). c'est le fichier pére des tous les fichiers de configuration. mais je te conseille pas.

  4. #4
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 270
    Points : 92
    Points
    92
    Par défaut
    Bah merci pour ta réponse

  5. #5
    Membre du Club Avatar de cacalex
    Inscrit en
    Avril 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 54
    Points : 50
    Points
    50
    Par défaut
    Y'a moyen...

    Remplace seulement la function CheminExecutable pour donner le chemin d'accès au fichier config...

    Ex. :
    Return "C:\Dossier\Fichier.config"

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    'Module de lecture/écriture
    'Du fichier d'options 
    '(prog.exe.config)
    '¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
    Imports System.IO
    Imports System.Xml
    Imports System.Reflection.Assembly
    Module Options
     
        Private XmlDocument As XmlDocument
     
        'CheminProg & "\" & NomProg & ".exe.config"
        'Cette String devient Donc "C:\(...)\NomProg.exe.config"
        Private Function CheminExecutable_NomFichier() As String
            Return Application.StartupPath & "\" & GetExecutingAssembly.GetName.Name & ".exe.config"
        End Function
     
        'Enregistrer une valeur du fichier d'option :
        'Options.EnregistrerOptions(NomOption, ValOption)
        Public Function EnregistrerOption(ByVal NomOption As String, ByVal ValOption As String)
            If File.Exists(CheminExecutable_NomFichier) Then
                'Creer fichier pour manipulation dans XML DOM.
                Dim FichierOption As New System.Xml.XmlDocument
                'Charger le fichier d'options
                FichierOption.Load(CheminExecutable_NomFichier)
                'Creer une Node (Noeud) XML pour lecture
                Dim Node As System.Xml.XmlNode
                'Vérifier les lignes du fichier d'options
                For Each Node In FichierOption.Item("configuration").Item("appSettings")
                    If Node.Name = "add" Then
                        ' Trouver la ligne d'options
                        If Node.Attributes.GetNamedItem("key").Value = NomOption Then
                            'Si la ligne est differentes de la valeur voulue
                            If (Node.Attributes.GetNamedItem("key").Value).ToString <> CType(ValOption, String) Then
                                'Changer la valeur de l'option pour  la valeur voulue
                                Node.Attributes.GetNamedItem("value").Value = CType(ValOption, String)
                                ' Enregistrer la configuration
                                FichierOption.Save(CheminExecutable_NomFichier)
                                Exit For
                                'vider tout
                                FichierOption = Nothing
                                Node = Nothing
                                Exit Function
                            End If
                        End If
                    End If
                Next Node
            End If
        End Function
     
        'Lire Une valeur du fichier d'option :
        'Options.LireOptions(NomOption)
        Public Function LireOption(ByVal NomOption As String, Optional ByVal Rubrique As String = "appSettings") As String
            Dim StrFichier As String = CheminExecutable_NomFichier()
            If File.Exists(StrFichier) Then
                Dim XmlNode As XmlNode
                XmlDocument = New XmlDocument
                XmlDocument.Load(StrFichier)
                XmlNode = _
                XmlDocument.DocumentElement.SelectSingleNode("/configuration/" & Rubrique & "/add[@key=""" & NomOption & """]")
                Return Trim(XmlNode.Attributes.GetNamedItem("value").Value)
            End If
        End Function
     
    End Module

  6. #6
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 270
    Points : 92
    Points
    92
    Par défaut
    Merci pour ton aide .... tu l'appelles où cette fonction qui te retourne le bon chemin ?

  7. #7
    Membre du Club Avatar de cacalex
    Inscrit en
    Avril 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 54
    Points : 50
    Points
    50
    Par défaut
    Tout simplement dans les function EnregistrerOption et LireOptions...

    Donc, un fois la function CheminExecutable_NomFichier modifié, tu ne t'occupe plus de rien...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        Public Function EnregistrerOption(ByVal NomOption As String, ByVal ValOption As String)
            If File.Exists(CheminExecutable_NomFichier) Then
                'Creer fichier pour manipulation dans XML DOM.
                Dim FichierOption As New System.Xml.XmlDocument
                'Charger le fichier d'options
                FichierOption.Load(CheminExecutable_NomFichier)
    Je rajouterais que ceci te permet seulement d'utiliser le fichier app.config comme un fichier d'options... Evidement, si tu t'en sert autrement, ça risque de ne pas fonctionner...

  8. #8
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 270
    Points : 92
    Points
    92
    Par défaut
    Citation Envoyé par cacalex
    Tout simplement dans les function EnregistrerOption et LireOptions...
    Excuse-moi, j'me suis mal exprimée : ça j'avais compris, ce que je comprends pas c'est à quel moment tu appelles : EnregistrerOption et LireOptions ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. saisir une seule fois une donnée pour plusieurs enregistrements
    Par yulalienor dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 29/06/2010, 18h38
  2. Réponses: 2
    Dernier message: 22/04/2010, 17h13
  3. Réponses: 4
    Dernier message: 23/03/2009, 22h07
  4. [VS .NET 2003] Compiler ou vérifier un seul fichier
    Par joujoukinder dans le forum Visual Studio
    Réponses: 2
    Dernier message: 13/07/2007, 18h37
  5. [Checkstyle] [Maven] 1 seul fichier checkstyle.xml pour différents projets
    Par kalan dans le forum Qualimétrie
    Réponses: 9
    Dernier message: 26/09/2006, 10h11

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