Задача MSBuild AssignCulture назначает пустую культуру псевдокультурам (qps-ploc, qps-plocm) - PullRequest
1 голос
/ 29 ноября 2011

У меня есть несколько локализованных файлов RESX в моем проекте:

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

Последний - это псевдокализованный текстовый ресурс для тестирования.Я хотел бы, чтобы он был скомпилирован в сателлитную сборку (то есть 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 или просто я неправильно его использую?

Ответы [ 2 ]

1 голос
/ 30 ноября 2011

Не уверен, что случилось, но вдруг все начало работать. Возможно, как-то связано с перезагрузкой системы.

0 голосов
/ 12 ноября 2014

У меня была такая же проблема, и она тоже разрешилась после перезагрузки.Я думаю, это потому, что задача AssignCulture должна проверить культуру, используемую в файле ресурсов, и, если это не стандартная или нестандартная культура, в которой есть файл .nlp в папке Windows \ Globalization, назначение завершится неудачно во время компиляции, а файл ресурсов не будет

В моем случае я только что создал пользовательскую культуру, но я думаю, Visual Studio не знала об этом, поскольку она, должно быть, кэшировала файлы ресурсов, которые были найдены при предыдущей перезагрузке системы.Повторная перезагрузка ПК должна была обновить кэшированные файлы ресурсов (включая пользовательские), а затем задача AssignCulture смогла успешно сопоставить ресурс, и файл ресурса был создан.

...