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

VB.NET Discussion :

A propos des paramètres de projet.


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut A propos des paramètres de projet.
    Bonjour à tous,

    Avez-vous déjà utilisé les paramètres d'un projet accessible dans le code via My.Settings.LeNomDuParametre ?

    Pour les paramètres d'un projet winform, pas de soucis. Ils se trouvent dans LeProjet.exe.config et peuvent facilement être modifié sans devoir recompilé l'application.

    Là où je m'emmêle les pinceaux, c'est pour utiliser ces paramètres pour un projet de type bibliothèque de classes.

    Dans le folder bin\debug de la bibliothèque, il y a le fichier LeProjet.dll.config avec les paramètres dedans.

    Par contre, ce fichier n'est pas copié vers le folder bin\debug de l'application winform qui référence la bibliothèque. Mais malgré cela, la dll parvient bien à utiliser ses paramètres. Du coup, je ne pige pas trop.

    J'ai regardé un peu sur le net et il semblerait que les paramètres avec leur valeur "par défaut" (ie : encodées dans VS) sont compilés dans la dll. Mais du coup, impossible de les modifier par après.

    Je suis un peu perdu...

    Pour info, le process est le suivant :

    Dans la couche GUI, l'utilisateur scanne un barcode de type EAN128.
    La BLL vérifie si le barcode est correct et si oui, l'envoi vers la DB et aussi dans un fichier txt. Et c'est pour définir où créer ce fichier que j'ai utilisé les settings de la dll.

    Ferais-je fausse route et faut-il définir ces settings dans la couche GUI ? Cela me donne l'impression que la couche GUI se mêle alors de choses qui ne la regarde pas.
    De plus, si je les mets dans la GUI et plus dans la BLL, la couche BLL ne compilera plus vu que les paramètres n'existent pas... Bref, c'est le bordel

    Qu'en pensez-vous ?

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Bonjour,

    Citation Envoyé par Kropernic Voir le message
    Par contre, ce fichier n'est pas copié vers le folder bin\debug de l'application winform qui référence la bibliothèque. Mais malgré cela, la dll parvient bien à utiliser ses paramètres.
    Mais là c'est pour le développement.
    Qu'en est-il lors de l'installation réelle ?
    Une fois l'appli installée avec sa dll et le fichier de config de la dll "LeProjet.dll.conf", la modification du chemin du fichier texte en sortie dans "LeProjet.dll.conf" est elle prise en compte quand tu utilises l'appli ?
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  3. #3
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Je viens de faire un test.

    J'ai pris la fichier .config qui se trouve dans le folder bin\debug du projet bibliothèque de classe et je l'ai copié dans le folder bin\debug du projet winform.
    J'ai alors modifié le paramètre pour que le fichier à créer le soit dans un autre folder et j'ai fait tourné l'application.

    Cela n'a eu aucun effet. Le fichier est toujours créé à son emplacement d'origine.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Oui, mais là tu es toujours en developpement.
    Place tout dans un répertoire (exe, dll, fichiers config) et lance l'exe

    Question subsidiaire, comment fais-tu avec ta chaîne de connexion BDD ?
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  5. #5
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Citation Envoyé par rv26t Voir le message
    Oui, mais là tu es toujours en developpement.
    Place tout dans un répertoire (exe, dll, fichiers config) et lance l'exe
    Ok je vais tester ça mais je ne vois pas ce que ça va changer.

    Sinon pour info, je viens de tester ceci :
    • Modifier GUI.exe.config pour ajouter :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
       
              <BLL.My.MySettings>
                  <setting name="storageFolder" serializeAs="String">
                      <value>\\serverXXX\d$\OTHER_DATA\SEALBAG1\</value>
                  </setting>
              </BLL.My.MySettings>
      Cela fait planter l'application au lancement XD
    • Modifier GUI.exe.config pour ajouter entre les balises usersSettings :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
       
                  <setting name="storageFolder" serializeAs="String">
                      <value>\\serverXXX\d$\OTHER_DATA\SEALBAG1\</value>
                  </setting>
      L'application ne plante pas mais cela n'a aucun effet.


    Je vais donc maintenant tester ce que tu suggères et je viens donner le résultat.

  6. #6
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Voilà, je viens de tester (c'était vite fait faut dire). Cela ne change rien. La valeur mise dans le fichier BLL.dll.config n'est pas prise en compte.

  7. #7
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Bonjour,

    Quelle est la porté de storageFolder? Utilisateur ou application?

  8. #8
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Citation Envoyé par rv26t Voir le message
    Question subsidiaire, comment fais-tu avec ta chaîne de connexion BDD ?
    Héhé, bien vu l'aveugle ! Même problème que j'ai contourné provisoirement en ajoutant un fichier DB.dat au projet GUI qui est toujours copier à la compilation. Dans la DAL, je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim sr as new IO.StreamReader("DB.dat")
    Dim server = sr.ReadLine()
    Et j'injecte le serveur ainsi obtenu dans la chaîne de connexion.

    Mais ouais, idéalement, j'aimerais passer par les settings de la DAL aussi...

Discussions similaires

  1. Réponses: 52
    Dernier message: 27/02/2015, 15h14
  2. A propos des projets d'installation
    Par teddyalbina dans le forum Visual Studio
    Réponses: 1
    Dernier message: 03/01/2012, 18h59
  3. Gérer des paramètres globaux dans un projet python.
    Par Narann dans le forum Général Python
    Réponses: 4
    Dernier message: 08/06/2011, 17h47
  4. Réponses: 4
    Dernier message: 22/12/2010, 12h04
  5. Parametrage des options de projet
    Par ares7 dans le forum EDI
    Réponses: 7
    Dernier message: 22/07/2002, 15h33

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