J'ai créé une DLL contenant des fonctionnalités qui doivent être partagées d'un projet à l'autre. Cependant, je peux avoir besoin d'ajuster les paramètres de la DLL à partir d'un projet le référençant. Quelle est la meilleure façon d'exposer les paramètres de configuration de la DLL à utiliser par un autre projet dans une solution entièrement différente?Quelle est la meilleure façon de créer une DLL utilitaire qui peut être configuré en consommant une application?
façons j'ai essayé:
appsettings importation
ApplicationSettings importation
configuration actuelle, Consommant valeurs de réglage de la solution sont ignorés/pas définie, pourquoi?
dll mise
public class ApplicationSettingsRetriever : IApplicationSettingsRetriever
{
public string LogEnvironmentSetting => ConfigurationManager.AppSettings.Get("LogEnvironment");
}
Solution Consommateur app.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<appSettings>
<add key="LogEnvironment" value="local"/>
</appSettings>
</configuration>
Si vous voulez le plus de flexibilité, vous devez accepter une interface injectée avec des propriétés qui sont votre «configuration». Ensuite, le client peut l'implémenter comme il le souhaite - base de données, fichier de configuration, etc. – Crowcoder
Ajout de la configuration pour le client et le dll cas d'utilisation – user1732364