Visual Studio 2019 升级到16.6.0,Bug真不是一般的多!Xamarin.Forms通过ResourceManager的GetString(Text, cultureInfo)方式实现多语言读取Resources.resx|Resources.zh-CN.resx|Resources.en-US.resx出现总是返回Resources.resx中的内容,无论cultureInfo是什么语言!

解决办法:通过记事本打开.csproj文件,在文件最后</Project>标记之前加入:

<Target Name="_ResolveSatellitePaths"
    DependsOnTargets="_ResolveAssemblies">
    <ResolveAssemblyReference
        AllowedAssemblyExtensions="$(AllowedReferenceAssemblyFileExtensions)"
        AssemblyFiles="@(ResolvedUserAssemblies)"
        AutoUnify="$(AutoUnifyAssemblyReferences)"
        FindDependencies="True"
        FindRelatedFiles="False"
        FindSatellites="True"
        SearchPaths="$(AssemblySearchPaths)"
        TargetFrameworkMoniker="$(TargetFrameworkMoniker)"
        TargetFrameworkMonikerDisplayName="$(TargetFrameworkMonikerDisplayName)"
        TargetFrameworkDirectories="$(TargetFrameworkDirectory)">
      <Output TaskParameter="SatelliteFiles" ItemName="_AndroidResolvedSatellitePaths"/>
    </ResolveAssemblyReference>
  </Target>

保存,重新加载项目!问题解决!



如果您对C#游戏开发感兴趣,可以扫下面二维码加入我们的QQ群来一起学习交流

原创文章,转载请注明本文链接地址(违者必究):解决ResourceManager.GetString总是返回默认Culture中的内容方法

打赏作者
很喜欢这篇文章,打赏犒劳下作者,以此激励作者创作更多

您的支持将鼓励我们继续创作!

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注