4つのリソースファイルを持つMVC4アプリケーションがあります。デフォルトのもの(Resource.resx)、中国語とドイツ語用のもの(Resource.zn-CH.resxとResource.de-DE.resx)、そしてカスタム言語用のもの(Resource.en-PI.resx(英語-海賊版) ))テスト目的で。
すべてのリソースファイルのすべての設定はまったく同じです。
- ビルドアクション:埋め込みリソース
- 出力ディレクトリにコピー:常にコピー
- カスタムツール:PublicResXFileCodeGenerator
- カスタムツールの名前空間:リソース
アプリケーションがローカルでビルドされるときはいつでも、binフォルダーにde-DE、en-PI、およびzh-CNフォルダーがあり、これらにはすべて(ProjectName).resources.dllという名前のdllが含まれています。
問題は、このアプリケーションがDEVサーバーにデプロイされるたびに、en-PIのフォルダーが無視され、コピーされないことです。en-PI言語を機能させるには、そのフォルダーを手動でコピーする必要があります。
必要なプロジェクトを特定のフォルダーにビルドし、他のことを実行してから、それらをDEVサーバーにコピーするビルド定義があります。他の2つの言語(de-DEとzh-CN)ではすべてが完全に正常に機能しますが、en-PIフォルダーはbinフォルダーに表示されません。カスタム言語であるためにこのリソースファイルがデプロイされない原因となっている設定はどこかにありますか?
これらすべてのリソースファイルが追加された方法は、この例http://odetocode.com/Blogs/scott/archive/2009/07/16/resource-files-and-asp-net-mvc-projects.aspxに従いました。