1

私のプロジェクトには、ローカライズされた RESX ファイルがいくつかあります。

    Messages.resx
    Messages.de.resx
    Messages.qps-ploc.resx

最後の 1 つは、テスト目的で擬似的にローカライズされたテキスト リソースです。残りのローカリゼーションとしてサテライト アセンブリ (つまり、project/qps-ploc/project.resources.dll) にコンパイルしたいと思います。しかし、何らかの理由で AssignCulture タスクが空のカルチャをこのリソースに割り当てており、結果としてコンパイルされません。

MSBuild ログのスニペット:

    Task "AssignCulture"
      Culture of "de" was assigned to file "Resources\Messages.de.resx".
      Culture of "" was assigned to file "Resources\Messages.resx".
      Culture of "" was assigned to file "Resources\Messages.qps-ploc.resx".
    Done executing task "AssignCulture".

ここ で説明されているように、疑似ローカリゼーション カルチャがレジストリで有効になっており、new CultureInfo("qps-ploc")正しい疑似カルチャが返されます。

これは AssignCulture の予想される動作ですか、それとも私が間違って使用しているだけですか?

4

2 に答える 2

1

何が起こったのかわかりませんが、突然すべてが機能し始めました。おそらく、何らかの形でシステムの再起動に関連しています。

于 2011-11-30T02:12:40.980 に答える
0

私は同じ問題を抱えていましたが、再起動後にも解決しました。これは、AssignCulture タスクがリソース ファイルで使用されているカルチャをチェックする必要があり、Windows\Globalization フォルダーに .nlp ファイルがある標準カルチャまたはカスタム カルチャでない場合、コンパイル中に割り当てが失敗し、リソース ファイルがないためだと思います。創造された。

私の場合、カスタム カルチャを作成したばかりですが、前回のシステムの再起動時に見つかったリソース ファイルをキャッシュしていたに違いないため、Visual Studio はそれを認識していなかったと思います。PC を再起動すると、キャッシュされたリソース ファイル (カスタム ファイルを含む) が更新され、AssignCulture タスクがリソースと正常に一致し、リソース ファイルが作成されたはずです。

于 2014-11-12T17:32:09.960 に答える