J'ai une solution d'application Web Studio Visual Studio. J'ai trois projets en tant que UserFace, BusinessLogic et DataAccess. p>
J'ai dû stocker certains paramètres définis par l'utilisateur et j'ai créé des configures dans le fichier de configuration. P>
J'accumule ces configurations via des classes qui héritent de la classe de base code> de .NET> p>
Donc, en bref pour chaque projet, j'ai eu une configuration distincte et pour cette configuration correspondante, j'ai eu une classe dans ce projet héritant de Cela fonctionne tous doux. Mais le problème se pose s'il y a un paramètre que je dois utiliser sur plusieurs projets. Donc, si vous devez utiliser un paramètre défini dans la configuration de projet UserSface dans, laissez-la, le projet BusinessLogic, je dois effectuer une copie de ce paramètre dans la configuration de BusinessLogic. Cela finit par avoir le même paramètre copié sur plusieurs configures. P>
n'est-ce pas un peu trop redondant? P> configuration code> pour accéder aux paramètres de la section Config. p>
3 Réponses :
Utiliser votre exemple: P>
Il suffit de créer le paramètre dans le projet Logic Business, puis d'exposer un getter au projet d'interface utilisateur. P>
Ensuite, l'interface utilisateur peut interroger le BL pour la valeur. Votre paramètre de configuration n'est qu'à un endroit - le niveau le plus bas possible. P>
Cependant, si vous remplacez un projet de niveau inférieur avec un nouveau, vous devez vous assurer que le réglage est également reproduit. Cela n'est probablement probablement probablement pas un problème si le paramètre est dans le niveau d'accès aux données, car c'est celui qui est le plus susceptible d'être modifié (un fournisseur de base de données différent par exemple). P>
jamais réellement fait cela, mais en théorie, cela pourrait marcher ... P>
Lorsque vous définissez votre section de configuration personnalisée, définissez son configsource à un fichier externe (quoi que ce soit.config). Ce fichier externe doit être ajouté à la solution et non au projet. Il apparaîtra sous "éléments de solution". Dans chaque projet, ajoutez un fichier existant, naviguez sur tout.config, cliquez sur la liste déroulante sur le bouton Ajouter et sélectionnez "Ajouter en tant que lien". P>
Quelque chose.config sera un seul fichier que vous pouvez modifier sous des éléments de solution et il est copié dans chaque application lors de la compilation. p>
Oui, je pensais sur les mêmes lignes. Le seul problème que j'ai, c'est que je voulais avoir la classe de manutention (qui analyse les informations de quoi que ce soit.config) est aussi un élément de solution. de sorte que la configuration + son analyseur n'existait qu'une seule fois et sont liés à plusieurs projets. Bien que le problème ne soit pas si Visual Studio compilait une classe qui est au niveau de l'élément de solution? Je n'ai pas pu faire ça.
Il y a une bien meilleure façon de faire cela en utilisant des "projets partagés" voir ma réponse sur un Question très similaire ici . p>