実行中のプログラムの設定ファイルとは別のDLLから設定ファイルにアクセスする方法を尋ねられますか?おそらくこれは素晴らしい考えではありませんが、独自のバージョンのConfigurationManagerを作成することができます。だから今、あなたが使用することができます
public class SettingsManager
{
private static Settings settings;
public static Settings Settings
{
get
{
if (settings == null)
{
settings = new Settings();
}
return settings;
}
}
}
:
public sealed class Settings
{
private readonly string settingsPath;
private XmlDocument doc;
private XmlDocument Doc
{
get
{
if (doc == null)
{
doc = new XmlDocument();
doc.Load(settingsPath);
}
return doc;
}
}
public string this[string name]
{
get
{
return GetSetting(name);
}
}
internal Settings()
{
settingsPath = @"\\path\to\app.config";
}
internal Settings(string settingsPath)
{
this.settingsPath = settingsPath;
}
public string GetSetting(string settingName)
{
return Doc.SelectSingleNode(string.Format("/configuration/settings/setting[@key='{0}']", settingName)).Attributes["value"].Value;
}
}
が続いてヘルパークラスを作成します。まず、(設定ファイルを解析するために、常にXmlDocumentを使用しています)、あなたの設定ファイルから設定を取得するクラスを作成しますコンソールアプリケーションからあなたのようなクラスライブラリうのConfigurationManagerからはSettingsManagerクラス:ここ
SettingsManager.Settings["mysetting"]
は、あなたの設定ファイルが
どのように見えるかです
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<settings>
<setting key="mysetting" value="my value"></setting>
</settings>
</configuration>
dllには構成ファイルを使用しないでください。アプリケーション用に1つの構成ファイルのみが存在し、構成プロパティはプロジェクト自体にのみ表示されます。解決策は、構成ファイルを使用してDLLの変数を設定することではありません。 –