Start Debugging
2020-11-13 更新日 2023-11-05 csharpxamarin-forms Edit on GitHub

Xamarin.Forms で appsettings.json を使う方法

Xamarin.Forms で appsettings.json 構成ファイルを使う方法を、ファイルをリソースとして埋め込み、IConfiguration オブジェクトを構築する形で解説します。

ASP.NET と比較して、重要な違いが 2 つあります。

まず、共有プロジェクトに appsettings.json ファイルを追加します。Build Action を必ず Embedded Resource に設定してください。テストに使えるキーと値をいくつか追加します。例えば次のようになります。

{
  "ChatHubUrl": "https://signalrchatweb.azurewebsites.net/"
}

次に、リソースのストリームを取得します。

Stream resourceStream = GetType().GetTypeInfo().Assembly.GetManifestResourceStream("SignalRChat.appsettings.json");

そして、それを使って IConfiguration オブジェクトを構築します。

var configuration = new ConfigurationBuilder()
                .AddJsonStream(resourceStream)
                .Build();

あとは、構成値を取得するために、他の辞書と同じように使うだけです。

configuration["ChatHubUrl"];

あるいは、IoC コンテナーに IConfiguration として登録し、ViewModel に注入して同じように使うこともできます。

完全な例はかつて GitHub の Xamarin Forms — SignalR Chat リポジトリにありましたが、現在は公開されていません。

Comments

Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.

< 戻る