IConfigurationSection オブジェクトでGetメソッドを利用すると、
'Get' メソッドが見つからないエラーが発生してビルドできない現象と対処法を紹介します。
現象
ASP.NET Core アプリケーション以外のアプリケーションで、Microsoft.Extensions.Configuration をインストールして IConfigurationSectionを利用し、
Getメソッドを記述してビルドすると、以下のエラーメッセージが表示されビルドできません。
エラーメッセージ
CS1061:
'IConfigurationSection' に 'Get' の定義が含まれておらず、型'IConfigurationSection' の最初の引数を受け付けるアクセス可能な拡張メソッド 'Get' が見つかりませんでした。
using ディレクティブまたはアセンブリ参照が不足していないことを確認してください
Error Message
Severity Code Description Project File Line Suppression State Error CS1061 'IConfigurationSection' does not contain a definition for 'Get' and no accessible extension method 'Get' accepting a first argument of type 'IConfigurationSection' could be found (are you missing a using directive or an assembly reference?)
原因
Getメソッドは、Microsoft.Extensions.Configuration には含まれておらず、Microsoft.Extensions.Configuration.Binder に含まれており、
Microsoft.Extensions.Configuration.Binder がインストールされていないため、上記のエラーが発生します。
対処法
Microsoft.Extensions.Configuration.Binder パッケージをインストールします。
NuGetパッケージマネージャーコンソールの場合は以下のコマンドを実行します。
Install-Package Microsoft.Extensions.Configuration.Binder
GUIの場合は、Microsoft.Extensions.Configuration.Binder で検索してインストールします。
インストール後、プロジェクトをビルドしてエラーが解消されるかを確認します。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2023-12-28
作成日: 2023-12-28