多言語ファイルを使用してサンプル アプリケーションを開発しようとしています。
私が使用しているのは、Windows 7 64 ビットと Visual Studio 2012 Express です。
Web でいくつかのチュートリアルを読み、サンプル アプリを作成しました。
Debug ディレクトリに言語ファイル用のフォルダを作成しました: 'en' と 'pl'
これらのディレクトリとメイン ディレクトリにテキスト リソース ファイルを作成したので、ファイル構造は次のようになります。
lang.txt
lang.resouces
multilang.resources.dll
multilang.exe
-en
--lang.en.txt
--lang.en.resources
--multilang.resources.dll
-pl
--lang.pl.txt
--lang.pl.resources
--multilang.resources.dll
サテライト アセンブリを埋め込むための .bat ファイルを作成しました。アプリを resgen lang.txt al.exe /t:lib /embed:lang.resources /culture:pl-PL /out:multilang.resources.dll に実行します。
resgen en/lang.en.txt
al.exe /t:lib /embed:en/lang.en.resources,multilang.en.resources /culture:en /out:en/multilang.resources.dll
resgen pl/lang.pl.txt
al.exe /t:lib /embed:pl/lang.pl.resources,multilang.pl.resources /culture:pl /out:pl/multilang.resources.dll
私のアプリケーションでは、ResourceManager を使用しています
_rm = new ResourceManager("multilang", Assembly.GetExecutingAssembly());
テキストを取得する GetString メソッド
this._rm.GetString(stringFromRm);
アプリを .NET 4.5 Framework でコンパイルすると問題なく動作しますが、プロジェクト プロパティのターゲット フレームワークを .NET 2.0 に変更すると、常に次の例外が発生します。
System.Resources.MissingManifestResourceException
私のアプリは Windows XP で動作する必要があるため、以前の .NET Framework バージョンで動作する必要があります。
.NET Framework 2.0 でアプリを実行するには何を変更する必要があるか教えてもらえますか?