我的项目中有许多本地化的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".伪本地化区域性已在注册表中启用,如所述,here和new CultureInfo("qps-ploc")返回正确的伪区域性。
这是AssignCulture的预期行为,还是我用错了?
发布于 2011-11-30 10:12:41
不知道发生了什么,但突然一切都开始正常工作。可能与系统重启有关。
发布于 2014-11-13 01:32:10
我也有同样的问题,它也在重启后自动解决了。我认为这是因为AssignCulture任务必须检查资源文件中使用的区域性,如果它不是标准区域性或在文件夹中有.nlp文件的自定义区域性,则在编译期间分配会失败,并且不会创建任何资源文件。
在我的例子中,我刚刚创建了一个自定义区域性,但我猜Visual Studio不知道这一点,因为它肯定缓存了上次系统重新启动时找到的资源文件。再次重启PC必须更新了缓存的资源文件(包括自定义文件),然后AssignCulture任务才能成功匹配资源,并创建了资源文件。
https://stackoverflow.com/questions/8308577
复制相似问题