web-dev-qa-db-fra.com

Obtenir le nom de fichier du fichier de configuration actuel

Je pense que ce serait simple, mais je ne trouve pas de réponse.

J'utilise Remoting et je souhaite stocker la RemotingConfiguration dans app.config. Quand j'appelle RemotingConfiguration.Configure Je dois fournir le nom de fichier où résident les informations d'accès distant. Donc ... j'ai besoin de connaître le nom du fichier de configuration actuel.

Actuellement, j'utilise ceci:

System.Reflection.Assembly.GetExecutingAssembly().Location + ".config"

Mais cela ne fonctionne que pour les applications Windows, pas pour les applications Web.

N'y a-t-il pas une classe qui puisse me fournir le nom du fichier de configuration actuel?

35
comecme

Essayez AppDomain.CurrentDomain.SetupInformation.ConfigurationFile

https://docs.Microsoft.com/en-us/dotnet/api/system.appdomainsetup.configurationfile

64
Paul Alexander
using System.Configuration;
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
Console.WriteLine(config.FilePath);

Dans le cas étrange où vous disposez de fichiers de configuration distincts pour des utilisateurs locaux ou itinérants spécifiques, vous pouvez également les localiser en utilisant le bon ConfigurationUserLevel. Pour les applications Web, utilisez

WebConfigurationManager.OpenWebConfiguration("~");
8