首页 > 解决方案 > 不是给定文化的有效日历。参数名称:值

问题描述

这是我的场景。我构建了 xamarin 表单应用程序。当用户设备语言为英语时,它可以正常工作..但在阿拉伯语中。他打开的任何页面包含 DatePicker 或应用程序崩溃的日期时间..请提供任何帮助。

标签: xamarin.iosxamarin-forms-4

解决方案


这是一个已知的 Xamarin 错误,自从我在 2015 年报告以来,他们无法修复。简而言之,链接器认为您不需要其他日历而不是默认日历。即使项目设置指定它支持这些语言。为了解决这个问题,它在您的代码中创建日历。(强制链接器包含它们)并从 AppDelegate.cs 或其他 Famarin Forms 应用程序初始化方法调用它:

private static void PreventLinkerFromStrippingCommonLocalizationReferences()
{
        _ = new System.Globalization.GregorianCalendar();
        _ = new System.Globalization.PersianCalendar();
        _ = new System.Globalization.UmAlQuraCalendar();
        _ = new System.Globalization.ThaiBuddhistCalendar();
}

https://github.com/xamarin/xamarin-android/issues/2511


推荐阅读