「プロジェクト > 依存関係 > NuGetパッケージの管理」をクリックし、NuGetパッケージから Microsoft.Extensions.Configuration.Json を検索。

Microsoft.Extensions.Configuration.Json をインストール。

ファイル名を appsettings.json にしたJSON ファイルをプロジェクトに追加する。
アプリケーション構成ファイルのファイル名は、 appsettings.json 固定。

appsettings.json のプロパティをクリックし「出力ディレクトリにコピー」は「常にコピーする」に設定する。

appsettings.json のプロパティがデフォルトの「コピーしない」のままだったり、アプリケーション構成ファイル名を appsettings.json 以外にすると下記の例外が発生する。
1 2 3 |
System.IO.FileNotFoundException: The configuration file 'appsettings.json' <br>was not found and is not optional. <br>The physical path is '・・・\netcoreapp2.0\appsettings.json'.<br> at Microsoft.Extensions.Configuration.FileConfigurationProvider.Load(Boolean reload)<br> at Microsoft.Extensions.Configuration.ConfigurationRoot..ctor(IList`1 providers)<br> at Microsoft.Extensions.Configuration.ConfigurationBuilder.Build() |
appsettings.json に設定した値。
1 2 3 |
{<br> "version": "1.0.0-*"<br>} |
appsettings.json を読み込むソースコード。
1 2 3 4 5 |
using Microsoft.Extensions.Configuration;<br> var builder = new ConfigurationBuilder();<br> builder.SetBasePath(Directory.GetCurrentDirectory());<br>builder.AddJsonFile("appsettings.json");<br>var Configuration = builder.Build();<br>var value = Configuration["version"]; |
デバッグ実行でちゃんと読み込めた!

.netcoreのアプリケーション構成ファイルはjsonと言われますが、xmlやiniのライブラリも存在するのでjsonじゃなくても良さそう。

コメント