web-dev-qa-db-ja.com

現在の構成ファイルのファイル名を取得します

これは簡単だと思いますが、答えが見つかりません。

Remotingを使用していますが、RemotingConfigurationをapp.configに保存します。 RemotingConfiguration.Configureを呼び出すとき、リモート情報が存在するファイル名を指定する必要があります。だから...現在の設定ファイルの名前を知る必要があります。

現在私はこれを使っています:

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

ただし、これはWindowsアプリケーションでのみ機能し、Webアプリケーションでは機能しません。

現在の構成ファイルの名前を提供できるクラスはありませんか?

35
comecme

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);

特定のローカルユーザーまたはローミングユーザー用に個別の構成ファイルがあるという奇妙なケースでは、正しいConfigurationUserLevelを使用してそれらを見つけることもできます。 Webアプリケーションの場合は、

WebConfigurationManager.OpenWebConfiguration("~");
8