Ich schrieb eine UserLogin dll. Die DLL verwendet App.Config-Datei mit einigen Standardparametern. Ich habe die Konfigurationsdatei in UserLogin.Config umbenannt, um die Lesbarkeit des Systems zu verbessern.Wie eine DLL-Konfigurationsdatei zu einem Projekt hinzufügen, die die DLL als Referenz hinzufügen?
Ich schrieb eine neue Anwendung, die Anmeldung von Benutzern erfordert. Ich habe die UserLogin.dll als Verweis auf die neue Anwendung hinzugefügt. Das Problem ist, dass die Konfigurationsdatei nicht mit der Referenz hinzugefügt wurde. Ich muss es manuell dem Ordner bin \ debug hinzufügen, um die Anwendung über Visual Studio ausführen zu können.
Ich habe kein solches Problem für die Bereitstellung, da ich die Konfigurationsdatei als Teil der Einrichtung hinzufügen.
Was ist der richtige Weg, die Konfigurationsdatei der neuen Anwendung hinzuzufügen, damit ich sie in der Entwicklungsumgebung ausführen kann?
Es folgt die UserLogin.config Datei:
<?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>
Die Klasse, die von der UserLogin.config Datei lautet:
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;
}
}
}
Die neue Anwendung, die das UserLogin.dll verwenden:
Einstellungen haben Einschränkungen, sie gelten nur für eine EXE. Was sinnvoll ist, wenn Sie darüber nachdenken, eine Bibliothek kann in mehreren Programmen verwendet werden und hätte unterschiedliche Einstellungen. Technisch ist es möglich, die app.config-Einträge manuell in die app.config für das EXE-Projekt einzubinden. Nicht viel Spaß. Eine korrekte Möglichkeit besteht darin, eine Bibliothek in EXE durch Code konfigurieren zu lassen. Oder verwenden Sie einfach eine XML-Datei, die Sie von einem bekannten Speicherort laden. –
Vielen Dank für Ihre Erklärung – ehh