微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Xamarin 表单 resx 本地化始终返回默认语言

如何解决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 举报,一经查实,本站将立刻删除。