web-dev-qa-db-fra.com

Accéder à un autre projet app.config propriétés?

J'ai deux projets dans ma solution, pour cet exemple, je les appellerai les projets A et B.

Références du projet B A. Le projet B peut-il accéder aux propriétés app.config du projet A?

Je souhaite accéder à une chaîne de clés d'application dans le fichier app.config de A.

string tfsUri = ConfigurationManager.AppSettings["TfsUri"];
18
user1352057

Ce n'est généralement pas une bonne idée, car vous introduisez des dépendances dures entre les projets. Donc, si vous pouvez copier-coller la valeur de configuration, cela rendra vos projets autonomes (cependant, cela introduit une duplication de la valeur de configuration).

Vous pouvez également automatiser cela, de sorte que lorsque vous générez un projet, la dépendance de configuration soit automatiquement résolue.

Cela dit, il existe d'autres options et, dans chaque cas, vous préférerez peut-être utiliser autre chose. Vos autres options sont:

22
oleksii
       var path = @"C:\Users\Stephen\source\repos\SensurityConfigurationTool\Configuration.UI\App.config";
        string directory = Path.GetDirectoryName(path);
        var pathRoot = Path.GetPathRoot(directory);
        string file = Path.GetFileName(path);


        ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap
        {
            ExeConfigFilename = Path.Combine(Path.GetFullPath(directory + "\\" + file))
        };

        System.Configuration.Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);

Vous obtenez essentiellement le chemin relatif, puis convertissez-le en un chemin absolu

5
user6685907