seule application.config multi-projet c#
Je veux utiliser une seule application.config par 3 projets différents.
Comment accéder à la configuration?
ConfigurationManager.AppSettings["config1"]
Vous devez vous connecter pour publier un commentaire.
Disons que vous avez cette structure de dossiers:
Ce faire:
Pour chaque projet dans l'Explorateur de solutions:
Add
>Existing Item
Sélectionnez
Add as link
partir de la liste déroulante à côté de laAdd
bouton.Modifiées afin d'ajouter:
Vous correctement de l'état que la méthode ci-dessus ne sont partagées le fichier à la compilation. Pour utiliser un fichier partagé au moment de l'exécution, voir le les réponses à cette question.
La commune de fichier de config
Pour accéder à mappé fichier de config
Voici le "Ajouter un élément existant" dialogue dans VS 2008:
Cliquez sur la liste déroulante de l'indicateur sur le bouton "Ajouter" et choisissez "Ajouter en tant que Lien" dans le menu contextuel.
Marc
Oui - vous peut le faire, mais devrait - vous?
L'hypothèse de base dans un .NET application est qu'une application = un fichier de config. Hors de la boîte, et avec une méthode facile, vous ne pouvez pas partager des fichiers de configuration entre les applications.
Si vous créer vos propres sections de configuration, vous pouvez "externaliser" ceux vers des fichiers externes, qui pourraient être partagées. Imaginez-vous créer votre propre section de configuration appelé "MyConfiguration", alors votre application.config devrait ressembler à quelque chose comme ça:
Vous pourriez avoir votre "MyConfiguration" l'article dans son propre fichier, et la référence à partir de votre application config:
et votre "MyConfiguration.config" serait alors contenir:
En faisant cela, vous pourriez "externaliser" et participer ainsi au moins la majeure partie de vos paramètres de configuration fournies qu'ils sont dans votre propre sections de configuration.
Pour plus d'info et une excellente introduction à la .NET 2.0 et de configuration des mystères, voir Jon Rista de la série en trois parties sur .NET 2.0 configuration sur CodeProject.
Fortement recommandé, bien écrit et très utile!
Marc
Une option de conception est d'éviter d'accéder à l'application.config directement à partir de votre bibliothèque de classes projets au total, évitant ainsi le supplément de la dépendance extérieure.
Plutôt, seule votre projet exécutable connaît le fichier de configuration et il peut transmettre explicitement appropriés les informations de configuration pour les bibliothèques, quand il crée des objets à partir de ou initialise.
Je comprends que c'est une vieille question, mais il y a un moyen beaucoup plus facile de parvenir à ce but. Si vous utilisez Visual Studio 2008 ou supérieur, il est un type de Projet appelé "Projet Partagé".
Un Projet Partagé peut avoir à peu près tout ce qu'un autre types de Projets peuvent contenir. Ce n'est pas seulement pour le C#, mais pour toutes les langues que VS2015 prend en charge. Quand quelque chose est inclus dans le Projet Partagé, il est disponible pour d'autres projets après l'ajout d'une référence (voir ci-dessous).
La grande différence avec les Classes dans un Projet Partagé VS une Bibliothèque Partagée est lorsque vous compilez le programme de tout ce qui est dans le Projet Partagé sera Compilé directement dans votre projet, non pas comme un fichier séparé (.dll, .exe). Pensez-y comme tout ce qui est dans le Projet Partagé est inséré dans les autres projets. Voici un petit tutoriel sur la configuration de cette place et de l'utiliser:
Visual Studio 2015 - Projet Partagé Tutoriel:
Créer le Nouveau Projet Partagé par la sélection de Fichier->New->Projet ou Clic Droit sur la Solution dans l'Explorateur de solutions et sélectionnez Add->Nouveau Projet. Lorsque la boîte de Dialogue s'affiche, sélectionnez "Projet Partagé", donner un nom au Projet TestShared dans cet exemple.
Après le Nouveau Projet, vous pouvez ajouter tout ce que vous devez être disponible pour d'autres projets. Dans ce cas, nous allons ajouter l'application.config. Clic droit sur le Projet Partagé et sélectionnez Add->Nouvel Élément. Sélectionnez Visual C#->Données>Fichier XML en le nommant évidemment app.config.
Enfin, ajouter une référence au Projet Partagé par Clic-Droit sur le Projet que vous avez besoin de partager le projet avec et sélectionnez Ajouter->Référence. Dans la Référence du Gestionnaire de la boîte de Dialogue sélectionnez votre Projet Partagé, il sera affiché dans les "Projets Partagés" élément sur la Gauche.
Maintenant tout ce qui est dans le Projet Partagé est disponible dans l'autre projet, il n'est pas nécessaire de le faire tout en utilisant les importations ou quelque chose comme ça. Il fonctionne tout simplement. Ce modèle est très pratique lorsque vous êtes à l'élaboration d'un programme et la nécessité d'avoir plusieurs interfaces graphiques (Windows, iOS, Android, etc). Par exemple, vous pourriez avoir un projet partagé pour le "Noyau" de la fonctionnalité et puis avoir une GUI Projet pour chacun des différents Systèmes d'Exploitation que vous voulez de l'aide dans votre programme.
Je me rends compte que c'est une ancienne question mais comme c'est montré dans Google j'ai pensé que je pourrais répondre à cette alors que d'autres sont à la recherche de la même chose qu'ils savent à propos de ce très puissant VS fonctionnalité.
Class Library
.