小编mil*_*liu的帖子

MSTest项目无法获取本地化字符串?

我遇到了一个奇怪的问题.在我的单元测试中,我想检查本地化的字符串.但是,我似乎无法让它发挥作用.例如,我创建了两个资源:英语的Resource1.resx和中文的Resource1.zh-CN.resx.单元测试项目只能获取(默认?)英文资源字符串.这是我正在使用的代码:

ResourceManager actual = new ResourceManager(typeof(LocaleTest.Properties.Resource1));
string name0 = actual.GetString("Name", new CultureInfo("en-US"));
string name1 = actual.GetString("Name", new CultureInfo("zh-CN"));
Run Code Online (Sandbox Code Playgroud)

我创建了另一个常规项目(意味着不是MSTest项目)以确保本地化字符串正常工作.因此,它适用于常规项目,但不适用于MSTest项目.

即使我把下面的代码作为单元测试的当前文化来制作'zh-CN',它也无济于事:

[TestInitialize()]
public void MyTestInitialize()
{
    Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-CN");
    Thread.CurrentThread.CurrentUICulture = new CultureInfo("zh-CN");
} 
Run Code Online (Sandbox Code Playgroud)

有人见过类似的问题吗?有没有解决方法?

string resources mstest localization project

5
推荐指数
1
解决办法
1179
查看次数

标签 统计

localization ×1

mstest ×1

project ×1

resources ×1

string ×1