質問: 3つのプロジェクトがあります。 ・.NET Framework (4.7.2) ・.NET Standard(xamarin.Form) (2.0) →Android 9.0 ・.NET Standard (2.0) ->両方(.NET Framework・.NET標準クラスライブラリ(2.0)(xamarin.Form))のプロジェクトで参照されている。共通処理 ・.NET Framework,.NET Standard(xamarin.Form) に(App.config)を配置しConfigurationクラスを使用して設定を取得しようとしましたが、 .NET標準クラスライブラリ(2.0)(xamarin.Form)でConfiguration System failed to initializeエラーが発生し、 設定を読み取ることができず、まずこの方法が正しいかどうか分からなくなりました。 3つのプロジェクトで同じ設定を読み取るためにはどうようにするのがベストプラクティスなのでしょうか。 教えていただきたいです。お願いします。
回答: この記事の質問に付いたコメントが当てはまるのでは? つまりConfigurationManager/Configurationは.NET Standardの一部では無いので、共通化を目指すのならば使ってはいけないということでしょう。 Is ConfigurationManager.AppSettings available in .NET Core 2.0? > > RE: It compiles fine when targeting .NET Standard 2.0 only - this cannot be correct, because ConfigurationManager is not part of .NET Standard (so far this is true up to v.2.1). > > > RE:.NET Standard 2.0のみをターゲットにした場合は正常にコンパイルされます。 - これは正しくありません。なぜなら、ConfigurationManager は .NET Standard の一部ではないからです(これまでのところ、これはv.2.1まで当てはまります) > > > 実際、以下のページの「適用対象」欄に.NET Standardの項目はありません。 ConfigurationManager クラス Configuration クラス Configuration.AppSettings プロパティ 例えばこちらなら.NET Standardの2.1 2.0 1.6 1.4 1.3が記述されています。 Console クラス 検索するとこんな記事があります、ただしチョコチョコ問題もある(あった?)ようです。 こうしたライブラリを探して使用するか、自前で設定ファイルと管理&読み書きクラスを用意するとかではないでしょうか? Xamarin.Forms Xamlプロジェクトのapp.configファイルを読む > > 各モバイルプラットフォームは独自の設定管理APIを提供していますが、古い古い.netスタイルのapp.config XMLファイルから設定を読み込む方法はありません。これは正当な理由の束、特に.netフレームワーク構成管理apiがヘビー級側にあり、各プラットフォームが独自のファイルシステムapiを持つためです。 > > > そこで、簡単なPCLAppConfigライブラリを作成しました。素早くすぐに使用できるようにパッケージ化されています。 > > > AppSettings Reader for Xamarin and Xamarin.Forms ちなみに当分のあいだ役に立たないですが、うたい文句どおりなら .NET 5 になればConfigurationManager/Configurationも使えるかもしれません。上記API仕様ページに .NET Core 3.0 3.1ではサポートしていると書いてあるので。 再統合された .NET:.NET 5 に関する Microsoft の計画 Announcing .NET 5 Preview 1