静的ConfigurationManager.OpenExe(exePath)
メソッドを使用して、アセンブリに関連する構成ファイルを開くことができますが、アセンブリに関連しない構成を開きたいだけです。単なる標準の.NET構成ファイル。
リッキーが投稿した記事は非常に優れていますが、残念ながら彼らはあなたの質問に答えません。
問題を解決するには、次のコードを試してください。
ExeConfigurationFileMap configMap = new ExeConfigurationFileMap();
configMap.ExeConfigFilename = @"d:\test\justAConfigFile.config.whateverYouLikeExtension";
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None);
構成内の値にアクセスする必要がある場合は、インデックス演算子を使用できます。
config.AppSettings.Settings["test"].Value;
構成ファイルは単なるXMLファイルであり、次の方法で開くことができます。
private static XmlDocument loadConfigDocument()
{
XmlDocument doc = null;
try
{
doc = new XmlDocument();
doc.Load(getConfigFilePath());
return doc;
}
catch (System.IO.FileNotFoundException e)
{
throw new Exception("No configuration file found.", e);
}
catch (Exception ex)
{
return null;
}
}
後で値を取得する:
// retrieve appSettings node
XmlNode node = doc.SelectSingleNode("//appSettings");
私は使うだろう - ConfigurationManager.OpenMappedExeConfiguration
。