exeファイルにリソースを埋め込まずに動的に読み込むことで、リソース内の内容の変更時に再ビルドが不要にする。
Javaのプロパティーファイルのような使い方をする。
設定
resxファイルのプロパティを変更する。
カスタムツール : (入力無し)
ビルドアクション : コンテンツ
出力ディレクトリにコピー : 常にコピーする
コード
String resourceFilePath = "Resources.resx"; var resources = new NameValueCollection(); using (var reader = new ResXResourceReader(resourceFilePath)) { foreach (DictionaryEntry entry in reader) { resources.Add(entry.Key.ToString(), entry.Value.ToString()); } } // 指定KEYに設定した値を表示 Console.WriteLine(resources["KEY1"]); Console.WriteLine(resources["KEY2"]);
参考URL
[C#]リソース(ResX)ファイルを実行時に動的に読みこむ | 学習B5デスノート
.NET TIPS:1つのキー文字列に対して複数の文字列値を保持するには? - @IT