私はUserLogin dllを書きました。 dllは、いくつかのデフォルトパラメータでApp.Configファイルを使用しています。私はより良いファイルシステムの可読性のために設定ファイルをUserLogin.Configに改名しました。dllを参照として追加するプロジェクトにDLL設定ファイルを追加するにはどうすればよいですか?
ユーザーのログインが必要な新しいアプリケーションを作成しました。新しいアプリケーションへの参照としてUserLogin.dllを追加しました。問題は、設定ファイルが参照で追加されなかったことです。 Visual Studioを使用してアプリケーションを実行するには、bin \ debugフォルダに手動で追加する必要があります。
設定の一部として設定ファイルを追加しているため、このような問題はありません。
私は開発環境で実行できるように、新しいアプリケーションに設定ファイルを追加する正しい方法は何ですか?
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="IsTestEnvironment" value="false" />
<add key="AllowedUserForTestEnvironment" value="ehh" />
<add key="EnableLogging" value="false" />
</appSettings>
</configuration>
UserLogin.configファイルからの読み込みクラス:
public static class ConfigurationReader
{
private static AppSettingsSection _appSettings;
public static AppSettingsSection AppSettings
{
get
{
if (_appSettings == null)
{
var userPreferencesConfigFileMap = new ExeConfigurationFileMap();
userPreferencesConfigFileMap.ExeConfigFilename = "UserLogin.config";
var userPreferencesConfig = ConfigurationManager.OpenMappedExeConfiguration(userPreferencesConfigFileMap, ConfigurationUserLevel.None);
_appSettings = (AppSettingsSection)userPreferencesConfig.GetSection("appSettings");
}
return _appSettings;
}
}
public static bool IsTestEnvironment
{
get
{
return bool.Parse(AppSettings.Settings["IsTestEnvironment"].Value);
}
}
public static string AllowedUserForTestEnvironment
{
get
{
return AppSettings.Settings["AllowedUserForTestEnvironment"].Value;
}
}
public static string EnableLogging
{
get
{
return AppSettings.Settings["EnableLogging"].Value;
}
}
}
UserLogin.dllを使用して新しいアプリケーション:
後はUserLogin.configファイルです
設定には制限がありますが、これはEXEでのみ有効です。あなたがそれについて考えるなら、複数のプログラムでライブラリを使用することができ、異なる設定を持つことになります。技術的には、app.configエントリを手動でEXEプロジェクトのapp.configにマージする必要があります。楽しいことではありません。正しい方法は、ライブラリをEXEのコードで構成させることです。または、よく知られている場所から自分自身をロードする.xmlファイルを使用してください。 –
あなたの説明をありがとうございます – ehh