【问题标题】:UWP SyncFusion SfDataGrid Serialization ExceptionUWP SyncFusion SfDataGrid 序列化异常
【发布时间】:2020-05-14 16:52:49
【问题描述】:

我正在尝试在我的 UWP 应用程序中使用 SfDataGrid 组件,并且在调试模式下一切正常。当我切换到发布模式以在发布到 Windows 商店之前对应用程序进行回归测试时,应用程序在网格序列化期间引发异常。

我有一个定义了 4 个文本列、1 个数字列和 1 个模板列的 SfDataGrid。模板列只包含一个删除按钮,以便用户可以删除该行。

我有一个方法可以返回序列化选项如下:

private SerializationOptions GetGridSerializationOptions()
{
    return new SerializationOptions
    {
        SerializeFiltering = false,
        SerializeColumns = true,
        SerializeGrouping = true,
        SerializeSorting = true,
        SerializeTableSummaries = true,
        SerializeCaptionSummary = true,
        SerializeGroupSummaries = true,
        SerializeStackedHeaders = true
    };
}

那我还有另一种方法来序列化网格设置如下:

private void RetrieveDefaultGridSettings()
{
    using (MemoryStream ms = new MemoryStream())
    {
        gridReport.Serialize(ms, GetGridSerializationOptions());
        _defaultGridSettings = Convert.ToBase64String(ms.ToArray());
    }
}

我遵循了描述如何序列化模板列的 SyncFusion 文档 (https://help.syncfusion.com/uwp/datagrid/serialization-and-deserialization)。我在调试模式下一切正常,但是当我切换到发布模式时,我在这一行出现异常:

gridReport.Serialize(ms, GetGridSerializationOptions());

例外是:

System.Runtime.Serialization.InvalidDataContractException:“Syncfusion.UI.Xaml.Grid.SerializableGridColumn”类型上的“KnownTypeAttribute 属性”指定了一个名为“KnownTypes”的方法来提供已知类型。在此类型上找不到静态方法“KnownTypes()”。确保该方法存在并标记为静态。'

我查看了 SerializableGridColumn 类,可以看到一个名为 KnownTypes 的公共静态方法,所以我真的不明白为什么会发生这个异常。我更困惑为什么它只在发布模式下发生。

为了解决这个问题,我尝试引用整个 SDK、删除 SDK 并引用特定程序集(Syncfusion.SfGrid.UWP、Syncfusion.Data.UWP、Syncfusion.SfInput.UWP、Syncfusion.SfShared.UWP、 Syncfusion.SfGridConverter.UWP、Syncfusion.XlsIO.UWP 和 Syncfusion.Pdf.UWP),但两者都不会产生不同的结果,并且异常仍然会发生,但仅在发布模式下。

关闭“使用 .NET Native 工具链编译”设置确实可以解决问题,但这不是一个实用的解决方案,因为这会阻止我将应用程序发布到 Windows 商店。

非常感谢任何人都可以提供的任何帮助。

【问题讨论】:

    标签: serialization uwp datagrid syncfusion


    【解决方案1】:

    在用我自己的代码用尽所有可能的问题后,我记录了 SyncFusion 的一个问题。他们正在调查,希望能尽快提供修复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-12
      • 2014-04-18
      • 2010-12-15
      • 2023-03-16
      相关资源
      最近更新 更多