如何解决Xamarin 表单 resx 本地化始终返回默认语言
Visual Studio 更新后,我的 Xamarin 表单 resx 本地化始终返回默认语言。
当前版本是 Visual Studio 16.9.5,我尝试了 16.10 预览版,但它有相同的错误。
我的 AppResources.resx 文件设置
Build action: Embedded Resource
Custom tool: PublicResXFileCodeGenerator
以及其他 AppResources.ko.resx 和 AppResources.ja.resx 文件设置
Build action: Embedded Resource
以下解决方法已被应用,但对我不起作用。 (https://github.com/xamarin/xamarin-android/issues/4664#issuecomment-632986668)
----------------------------------- 添加------------ ---------------------------
我的主要项目名称是“Core”。
我的 resx 文件位于“Core/Properties/”(例如,Core/Properties/AppResources.resx)中。
默认语言是“en”,我在与 AppResources.resx 相同的路径中还有“AppResources.ko.resx”和“AppResources.ja.resx”。
解决方法
我已经解决了这个问题。
问题来自于最新的 Visual Studio 版本和之前的解决方法 (https://github.com/xamarin/xamarin-android/issues/4664#issuecomment-632986668)
之前的解决方法建议修改Android项目.csproj文件如下
<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>
但是,在更新 Visual Studio 后,此解决方法产生了问题。
我删除了此代码,一切正常!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。