私は、プロジェクト間で共有されるいくつかの機能を持つdllを作成しました。しかし、私はそれを参照するプロジェクトからdllの設定を調整する必要があるかもしれません。全く異なるソリューションで別のプロジェクトで使用するdllの構成設定を公開する最良の方法は何ですか?私が試してみましたアプリケーションを使用して構成できるユーティリティdllを作成する最適な方法は何ですか?
方法:
のappSettingsは
ApplicationSettingsをインポート
現在の設定をインポートし、消費ソリューションの設定値が、なぜ、設定されていない/無視されますか?
のdll設定
public class ApplicationSettingsRetriever : IApplicationSettingsRetriever
{
public string LogEnvironmentSetting => ConfigurationManager.AppSettings.Get("LogEnvironment");
}
コンシューマーソリューションの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>
最も柔軟性が必要な場合は、注入されたインターフェイスを「構成」であるプロパティで受け入れる必要があります。クライアントは、データベース、設定ファイルなど、必要なものを実装できます。 – Crowcoder
クライアントとdllのユースケースの設定を追加しました – user1732364