本文主要是介绍.NET中英文切换常见错误,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
未能找到任何适合于指定的区域性或非特定区域性的资源。请确保在编译时已将“LanguageChange.App_LocalResources.English.resources”正确嵌入或链接到程序集“LanguageChange”,或者确保所有需要的附属程序集都可加载并已进行了完全签名。
Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "LanguageChange.App_LocalResources.English.resources" was correctly embedded or linked into assembly "LanguageChange" at compile time, or that all the satellite assemblies required are loadable and fully signed.
以上为中英文情况下的错误提示,出现此问题原因在于程序找不到此资源文件。
在网上查询,有很多种情况会遇到此问题,这里仅记录自己遇到的问题,并提供解决方案。
资源文件在创建时,默认属性"生成操作”为内容,在此情况下,程序在编译时,不会将此资源文件编译到程序当中去,修改为” 嵌入的资源“即可。注意:创建资源文件后,需将”访问修饰符“修改为”public“,否者无法访问(如果有多种语言,只需设置其中一个语言的资源文件即可)。
具体创建中英文程序步骤(VS2013):选择本地资源文件=》右键资源文件名,添加新建项,选择资源文件(各种语言前半部分名字相同,在.后面跟对应语言特定code,查询地址:http://wenku.baidu.com/link?url=U0yQpeYVvZmfwG9cAs3huFR8pei2H6L4H86kplo0ZK0ot0GV8IP74XHwt12bKA8fMd2rgSCN8fhtmyavmJVidqn9toN1Lv8xSIslAJNujhu),举例:English.en-US.resx/ English.zh-CN.resx (.后面跟对应语言代码)
界面使用(引用资源文件到文件夹)
实现中英文切换:
System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = new System.Globalization.CultureInfo(”对应语言代码(zh-CN/en-US)“);//必须有次资源文件
SelectLang为对应的语言代码(zh-CN/en-US)
还需要在Global.asax中设置默认打开时的语言:
System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = new System.Globalization.CultureInfo("en-US");
如果添加多国语言,只需加对应语言的资源文件
最后注意点:资源文件的”访问修饰符=public“,”生成操作属性=嵌入的资源“(右键资源文件,属性中查找)
这篇关于.NET中英文切换常见错误的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!