導入
アプリの動作を変える「値」や、画像・文言などの「素材」を、コードに直書きせず構成ファイルやリソースとして管理するのがVisual Studioの流儀です。App.config/appsettings.json/.settings/.resxの役割を整理します。
図解
flowchart TB
subgraph 設定["設定・構成"]
AC["App.config / appsettings.json<br/>接続文字列・APIのURL・各種フラグ"]
ST[".settings(アプリケーション設定)<br/>Visual StudioのGUIで型付き設定"]
end
subgraph 素材["リソース"]
RES[".resx(リソースファイル)<br/>文言・画像・アイコン(多言語対応も)"]
end
APP["アプリ"] --> AC
APP --> ST
APP --> RES
詳細手順
- スターター
103-vs-config-resources/starter.zipを展開し、.slnを開く - 構成ファイル:
appsettings.json(またはApp.config)をソリューションエクスプローラーで開き、接続文字列やAPI URLが定義されているのを確認する
- アプリケーション設定(.settings):プロジェクトのプロパティ → 設定タブを開き、GUIで「名前・型・値・スコープ」を持つ型付き設定を追加する。コードから
Properties.Settings.Default.設定名で読める
- リソース(.resx):プロパティ → リソースタブを開き、文言や画像を登録する。コードから
Properties.Resources.リソース名で参照でき、言語ごとに.resxを分ければ多言語対応もできる
使い分け
- App.config / appsettings.json:接続文字列・URL・フラグなど「環境で変わる値」。再ビルドなしで差し替えたいもの
- .settings(アプリケーション設定):Visual StudioのGUIで型付きに管理したいユーザー/アプリ設定
- .resx(リソース):文言・画像・アイコンなどの素材。多言語対応(ローカライズ)の基盤
- 秘密情報(パスワード・APIキー)はいずれにも直書きせず、環境変数やシークレット管理を使う
まとめ
- 値は構成ファイル(App.config/appsettings.json)、型付き設定は.settings、素材は.resx
- リソースは多言語対応の基盤にもなる
- 秘密情報は構成ファイルに直書きしない
次回: 構成ファイルの中身であるJSON設定を、ブラウザで実際に読み込みます。
テンプレート構成(教材制作用メモ)
103-vs-config-resources/
└── starter.zip # appsettings.json / .settings / .resx を含むプロジェクト / README(スクショ差し込み位置)