c# – 为什么在单元测试中找不到resx文化?

c# – 为什么在单元测试中找不到resx文化?,第1张

概述我在.NET 4.0项目中嵌入了字符串资源:Strings.resx和Strings.de.resx. 在生产代码中,将检索正确的本地化字符串,具体取决于Strings.Culture的值: Strings.Culture = new Culture("de");string deString = Strings.Welcome; // 'Willkommen'Strings.Culture 我在.NET 4.0项目中嵌入了字符串资源:Strings.resx和Strings.de.resx.

在生产代码中,将检索正确的本地化字符串,具体取决于Strings.Culture的值:

Strings.Culture = new Culture("de");string deString = Strings.Welcome;  // 'Willkommen'Strings.Culture = new Culture("en");string enString = Strings.Welcome;  // 'Welcome'

但是在我的单元测试代码中(使用MSTest),永远不会返回’Strings.de.resx’中的字符串 – 我只能从Strings.resx获取字符串,无论Strings.Culture或Threads.CurrentThread.CultureUICulture的值是什么.

有人可以帮忙吗?

解决方法 好的,我能够重现这个问题.首先尝试禁用部署.转到“local.testsettings”并取消选中Deployment – >启用部署.选中此标志后,VS似乎没有为我部署附属程序集.
如果确实需要某个部署项,请使用DeploymentItemAttribute:
[DeploymentItem(   @".\YourProject\bin\DeBUG\de\YourProject.resources.dll",@".\de\")]

或使用相同的“部署”选项卡选择适当的附属程序集.

总结

以上是内存溢出为你收集整理的c# – 为什么在单元测试中找不到resx文化?全部内容,希望文章能够帮你解决c# – 为什么在单元测试中找不到resx文化?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1246631.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存