C#

デバッグ環境と実行環境の違い(WPF 多言語表示対応)

C#とWPFの組み合わせでWindowsデスクトップアプリを作成していますが、リソースファイル(resx)を利用した多言語表示でトラブルがあったので備忘録。

今回のキモは動的な言語切り替えです。

まずは多言語対応としてgrabacr.nétを参考にコードを書きました。

ビルド、実行と難なく表示を切り替えることができました。

では、インストールプロジェクトからインストーラを作成、インストール後に実行すると…

何をどうやっても英語表示。
System.Threading.Thread.CurrentThread.CunrrentCulture.NameをMessageBox.Showで開いてもちゃんと「ja-JP」になっている。

おかしい…デバッグ環境ではちゃんと動いているのに実行環境で動作しないなんて。

ちゃんとリソースファイルは追加されてるよなぁ…

プロジェクト出力 修正前

…完全に忘れていました。

早速、プロジェクト出力にリソースファイルを追加します。
プロジェクト出力の追加
プロジェクト出力 修正後

はい、実行環境でも多言語表示されるようになりました。

ちゃんと実行環境にリソースファイルがあるか確認しましょうね(自戒)。

ABOUT ME
Nozomu.Kon
トータルソフトウェアコーディネーターがあなたのお困りを即時に解決!