.NET標準にはConfigurationManager
が存在しないため、.NET標準クラスライブラリ内のweb.config
またはappSettings.{env}.json
であれ、実行アセンブリのアプリケーション設定を取得する最も良い方法は何ですか?.NET Framework、.NET Standard、および.NET Coreプロジェクト間で同じ構成を使用する方法は?
は、我々は3つのプロジェクトがあります。
- ASP.NETコアWebアプリケーションを(1.1)
- ASP.NET Webアプリケーション(4.6.1)
- .NET標準クラスライブラリ(1.4) - >両方のプロジェクトによって参照される
.NET Standardクラスのlibでは、配備先の環境に基づいて変更する必要があるURLがあります。
これは.NETコアアプリケーションで問題ありません。適切なappSettings.{env}.json
ファイルにURLを追加し、適切な値をDIコンテナに追加してからMicrosoft.Extensions.Options
ライブラリを使用して設定を取得します。
でも、私たちは.NET Framework 4.6.1アプリケーションからライブラリを呼び出す必要がありますが、web.config
ファイルから値を取得する方法はありません(少なくとも私が見つけることはできません)クラスライブラリ内のURLを設定する良い方法があります。
URL変数を静的に設定し、それを参照する各.NET FrameworkプロジェクトのApplication_Start()
メソッド内から値を設定することで、追加したappSettingキーを使用して環境を判断しています各web.configに追加し、環境に基づいて手動でURLを設定します。
.NET標準クラスライブラリ内の.NET Coreおよび.NET Frameworkアプリケーションの両方からappSettings値を取得する処理が、より堅牢な方法はありますか? 好ましくは、クラスライブラリ内で値を設定することができます。
完全に合法的な質問に対して無作為に投票してくれてありがとう? –