.net5.0如何切换成4.0 framework

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net5.0如何切换成4.0 framework相关的知识,希望对你有一定的参考价值。

参考技术A 不同版本转换 在实施过程需要将.net3.5版本升级到.net4.5,以便在.net4.5系统平台运行。
更换vs版本 vs2010只能支持.net3.5-4.0 更换vs2012,可以支持.net4.5

IOS多语言切换4-framework中的语言切换和资源使用

参考技术A 开发语言:Swift 5.0
开发环境:Xcode 11.5
发布平台:IOS 13

在IOS多语言切换3文章中,我们已经实现了用户通过App手动设置语言,来设置程序文字和图片的多语言化,但随着App开发的需求,一旦引入了Framework,按照上一章实现的功能,所有在Framework中使用的文字和图片资源,无法随着用户设置的语言进行切换,原因在于每个Framework或者项目都有自己的独立Bundle,上一章中,我们只对Bundle.main包进行了处理,所以接下来,我们要对每个Framework的Bundle都进行多语言的处理。

以以下demo为例,建立一个包含2个framework的项目。

在Main.Storyboard和SubRes.Storyboard中,已经设置好文字的中文与英文,此时运行程序可以通过切换IOS设备的语言来实现App的语言切换

在SubRes.Storyboard中,使用MainRes中一张图片arrowblue。

但运行程序后,图片无法显示,原因是ios中,每个不同的framework有着自己默认的bundle,而加载SubRes.Storyboard时,使用的是SubRes的bundle,但是arrowblue存在于MainRes的bundle中,SubRes.Storyboard无法找到这个图片。
此问题的解决办法是在Target->SubRes->BuildPhases->CopyBundleResources中,点击+号,添加MainRes的Assets.xcassets。

这样程序在编译时,会把MainRes的bundle中的资源,复制到SubRes的bundle内,这样程序运行就正常了

我们期待程序使用用户指定的语言而非系统指定的语言,和前几章相同,我们通过实现MyLanguage类来完成此功能,MyLanguage类中,维护了一个bundleDir,保存当前所有framework的bundle,每次用户切换语言,我们更新bundleDir,构造并且记录用户指定语言的bundle。

同时我们必须重定义Bundle类。

最后,我们需要扩展Bundle类,记录当前Bundle的名字,方便通过字典查找。

在AppDelegate中使用MyLanguage

此时,运行程序,可以看到模拟器的语言是英文,但APP中的文字已经成功设置为中文了。

在SubRes实现MyResource类,用于获取此framework中的多语言文字和图片,具体内容前几章有提到,就不多做介绍了

以上是关于.net5.0如何切换成4.0 framework的主要内容,如果未能解决你的问题,请参考以下文章

如何在win10上安装.net framework 4.0

Entity Framework 4.0/如何从日期和时间连接字符串

已安装 4.6 时如何满足 .Net Framework 4.0 要求

.NET Framework 4.0 安装失败

如何找到 .Net Framework 4.0的配置XML文件?我想要使用NetFx40_LegacySecurityPolicy 配置开关!

在 .NET Framework 4.0 的 AppDomain 中运行 codeCom 代码