私はこのように私の設定ファイルから設定を読み取るメソッドを持っています:
var value = ConfigurationManager.AppSettings[key];
.NET Standard 2.0のみを対象とする場合、問題なくコンパイルされます。
これで複数のターゲットが必要になるので、プロジェクトファイルを次のように更新しました。
<TargetFrameworks>netcoreapp2.0;net461;netstandard2.0</TargetFrameworks>
しかし今、コンパイルnetcoreapp2.0
は次のエラーメッセージで失敗します:
Error CS0103 The name 'ConfigurationManager' does not exist in the current context (netcoreapp2.0)
別に、新しい.NET Core 2.0コンソールアプリケーション(今回は.NET Core 2.0のみを対象としています)を作成しましたが、同様にConfigurationManager
名前空間の下には何もないようSystem.Configuration
です。
.NET Standard 2.0で利用できるので混乱しています。.NETCore 2.0は.NET Standard 2.0に準拠しているため、.NET Core 2.0でも利用できると思います。
何が欠けていますか?
It compiles fine when targeting .NET Standard 2.0 only
- ConfigurationManager
は.NET Standardの一部ではないため、これは正しくありません(これまでのところ、v.2.1までは当てはまります)。