Resxリソースファイルで作業している間にVisual Studio 2010で異常な動作が発生しました。 。 Visual Studioはローカライズされた名前(たとえば、resource.fr.resx
)とリソースファイルのdesigner.cs
ファイルを生成しませんが、それは(例えばresource.resx
など)の単純な名前を持つ他のファイルのために正常に動作します:次のようにファイルがローカライズされている場合、Visual Studio 2010はリソース(Resx)デザイナーコードを生成しません。
問題があります。
- test.resx
- :あなたは、私はちょうど3つのリソースファイルに簡単なテストをした見ることができるように
:ここ
は私のVisual Studioプロジェクトの設定のスナップショットですtest2.resx
- test.fr.resx
test.resx
とtest2.resx
のファイルはdesigner.cs
です。しかし、私が何をしても、test.fr.designer.cs
が作成されますが、常に空白です。
私はダブルチェックとトリプルチェックを行っています:ローカライズされたファイルのカスタムツールプロパティが正しく設定されています。すべてのプロパティはすべてのファイルで全く同じです(私はPublicResxFileCodeGenerator
を使用していますが、内部にアクセス修飾子を設定してResxFileCodeGenerator
を使用すると同じ動作になります)。
注:リソースファイルを作成すると、Visual Studioは通常、アクセス修飾子を「Internal」にデフォルト設定しています。ただし、ローカライズされたリソースファイル(resource.fr.resx
)を作成すると、デフォルトで「コード生成なし」になります。 Visual Studioが何らかの理由でローカライズされたファイルを別の方法で扱っていることが証明されたので、興味深いことが分かりました。
- >私にはここに何かがありますか?誰かがこの件に関するいくつかの洞察を持っていれば、私は感謝しています。これは私を夢中にしています。
私はちょうどそれがそれで動作するはずの方法を忘れていたと思います。しかし、リソースマネージャーは、私がこの全部を調査するのに要した、私のローカライズされた文字列を見つけることができません。しかし、これはもう一つの理由があります。私は、リソースファイルに何も問題がないという前提の下で、再度調査します。 – Aerendel
しかし、私が説明した方法で試してみてください。それはうまくいくはずです。 – Larry
確かに、私はフレームワークが間違った方向に私を導いたマスターリソースファイルのコードを生成する必要があるだけであることを理解していませんでした。説明して、それを指摘してくれてありがとう! Visual Studioは実際には意味をなさないローカライズされた命名規則に従ったファイルのコードを生成することに真剣に取り組んでいます。ローカライズされたファイルを「コード生成なし」に変更した後、すべてが機能しています。どうもありがとう! – Aerendel