私はASP.NETMVC2プロジェクトに取り組んでおり、そのために次のようにローカリゼーションを構成しました...
すべてのresxファイルを含む別のResourcesアセンブリがあります。各resxファイルの設定は...
ビルドアクション=埋め込みリソース 出力ディレクトリにコピー=コピーしない カスタムツール=PublicResXFileCodeGenerator カスタムツールの名前空間=リソース
データベースからresxファイルに文字列をエクスポートし、resgen.exeツールを呼び出してdesigner.csファイルを再作成するツールがあります。
ブラウザの言語設定を変更してページを更新した場合でも、これはすべてうまく機能しました。正しい文字列を取得します。
それは一時的な作業フォルダーにありました(私はSubversionを使用しています)。通常のフォルダでの作業に移行しましたが、かなり奇妙なエラーが発生しています。
コンパイラエラーメッセージ:CS0433:タイプ'Resources.XXXX'は両方の'c:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files \ root \ 6c657d01 \ aaca70ae \ assembly \ dl3 \a36dac65\に存在します78c87110_3724cb01 \ Resources.DLL'および'c:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files \ root \ 6c657d01 \ aaca70ae \ App_GlobalResources.g6fehiio.dll '
一時的なasp.netファイルをすべて削除し、Webアプリを再実行すると、上記の両方のアセンブリが再生成されます。本当に奇妙なことは、通常の作業フォルダーに移動する前に、これがすべて機能したことです。
したがって、このApp_GlobalResourcesアセンブリを生成しているものを誰かに教えてもらえますか。これは、すべてのリソースが作成したResourcesアセンブリに含まれているためです。
PS-Resources.dllを使用した理由は、データベース抽出ツールを使用してリソースを生成する際に発生していた問題を回避するためでした。(ここを参照)
PPS-私はVS2010を使用しています