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 de configuration - Quelle build action utiliser ?


Sujet :

C#

  1. #1
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut Fichier de configuration - Quelle build action utiliser ?
    Hello,

    J'utilise dans le cadre d'un WebService que je développe, différents fichiers de configuration en provenance de plusieurs projets.

    Quand je génère mon WebService, j'ai précisé que je voulais que les fichiers de configuration soit copiés dans le répertoire cible dans la properties des dits fichiers.
    Seulement voilà, quand je modifie le contenu de ces fichiers de configuration, cela n'a aucun impact sur le comportement de l'application. A titre d'exemple, une URL qui est appelée à partir d'un paramètre de la configuration, ne change pas en fonction de ce qui est contenu dans le fichier.

    Du coup j'imagine que le fichier n'a aucun intérêt puisque le tout doit être encapsulé dans les DLL exportés au moment de la publication.
    Il me semble pourtant qu'il suffisait de modifier la "build action" des fichiers de configuration en question pour que ça résolve le problème... J'ai donc modifié la build action en "Embedded Resource", mais cela ne résoud pas mon problème pour autant.

    Quelque chose m'échappe... mais quoi ?

    Merci d'avance !
    One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

    -- Chuck Palahniuk, Fight Club, Chapter 3 --

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Quelle est la structure de ta solution? Plusieurs projets?

  3. #3
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    Plusieurs projets, avec des références les uns dans les autres... difficile de faire une arborescence...
    Disons que j'ai un projet A qui est la définition et l'implémentation technique d'un échange type MQ, qui passe par un projet B qui est plus orienté métier, utilisé par le WebService.

    Le fichier de configuration qui m'intéresse est dans le projet A.
    One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

    -- Chuck Palahniuk, Fight Club, Chapter 3 --

  4. #4
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    Ok, du coup je pense avoir une idée.
    En fait, le .config n'apparait dans mon WebService uniquement parce que je fais un appel au projet A pour une autre action (et donc fait une référence vers A en plus de la référence vers B pour la partie qui m'intéresse).

    Du coup je pense que les properties qui m'intéresse doivent être encapsulées dans la DLL du projet B, et non du projet A comme je le pensais au départ.

    Ça a du sens ? Et comment résoudre le problème si ce n'est en faisant abstraction du projet B (ce qui obligerait à repenser l'architecture logicielle et n'est pas souhaitable...)
    One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

    -- Chuck Palahniuk, Fight Club, Chapter 3 --

  5. #5
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    En attendant de trouver une solution "propre" je vais passer la configuration en paramètre de l'appel au projet B, qui lui-même la passera au projet A, comme ça je suis sûr qu'elle est dans la config du WebService.
    One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

    -- Chuck Palahniuk, Fight Club, Chapter 3 --

  6. #6
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Enfait il n'ya pas recopie des fichiers de configs d'un projet à l'autre. Il faut donc que tu mettes tout dans le fichier final (celui de l'exe ou le web.config).

  7. #7
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    Il s'agit du Web.config en l’occurrence.

    Mais donc il t'es impossible de modifier une configuration qui n'est pas utilisée directement par ton projet ? Il faut republier les DLL à chaque fois ?
    One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

    -- Chuck Palahniuk, Fight Club, Chapter 3 --

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

Discussions similaires

  1. [Visual Studio]Le fichier de configuration disparait après un Build
    Par Benzeghiba dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 28/05/2007, 13h40
  2. Réponses: 2
    Dernier message: 31/10/2006, 16h29
  3. Réponses: 2
    Dernier message: 14/06/2006, 11h53
  4. Réponses: 4
    Dernier message: 01/03/2006, 17h15

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