C# Syncfusion Datagrid由于初始化控件而导致Xamarin IOS应用程序崩溃

C# Syncfusion Datagrid由于初始化控件而导致Xamarin IOS应用程序崩溃,c#,xamarin.forms,datagrid,syncfusion,argumentnullexception,C#,Xamarin.forms,Datagrid,Syncfusion,Argumentnullexception,我有一个Xamarin应用程序,其中包括Syncfusion Datagrid控件。我正在尝试将其部署到VisualStudio中的IOS模拟器。我已经添加了NuGet软件包并包含了一个社区许可证。但是,它没有显示在屏幕上。为了解决这个问题,我添加了下面一行代码,正如所建议的那样 但是,这现在导致我的应用程序崩溃,唯一的调试器信息是: main.cs: static void Main(string[] args) { // if you want to use a differen

我有一个Xamarin应用程序,其中包括Syncfusion Datagrid控件。我正在尝试将其部署到VisualStudio中的IOS模拟器。我已经添加了NuGet软件包并包含了一个社区许可证。但是,它没有显示在屏幕上。为了解决这个问题,我添加了下面一行代码,正如所建议的那样

但是,这现在导致我的应用程序崩溃,唯一的调试器信息是:

main.cs:

static void Main(string[] args)
{
      // if you want to use a different Application Delegate class from "AppDelegate"
      // you can specify it here.
      UIApplication.Main(args, null, "AppDelegate"); #System.NullReferenceException: 'Object reference not set to an instance of an object'
}
AppDelegate.cs:

public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
      global::Xamarin.Forms.Forms.Init();
      Syncfusion.SfDataGrid.XForms.iOS.SfDataGridRenderer.Init();
      LoadApplication(new App());

      return base.FinishedLaunching(app, options);
}
如果我没有给你足够的关于我的设置的信息,请询问,我将很乐意提供。:)


提前谢谢

如果使用的是Xamarin.iOS平台而不是跨平台,则不需要渲染器初始化

在这种情况下,如果您使用的是iOS版本的Xamarin.Forms,则需要了解DataGrid组件的逐步配置。确认您已安装NuGet软件包

在这种情况下,如果您使用的是Xamarin.iOS平台本身,请提供逐步配置,并确保已安装该软件包


我希望这会有所帮助。

如果您使用的是Xamarin.iOS平台,而不是跨平台,则不需要渲染器初始化

在这种情况下,如果您使用的是iOS版本的Xamarin.Forms,则需要了解DataGrid组件的逐步配置。确认您已安装NuGet软件包

在这种情况下,如果您使用的是Xamarin.iOS平台本身,请提供逐步配置,并确保已安装该软件包


我希望这会有所帮助。

我不知道问题的原因是什么,但是,通过将我的Xamarin.Forms和Xamarin.Essentials包分别降级到版本4.5.0.495和1.3.1,我不再收到错误,屏幕显示正确

我通过创建一个新的测试项目并尝试重新创建代码来解决这个问题。然后我试着运行它,它成功了。因此,我将原始代码的版本更改为在由Xamarin模板生成的项目中工作的版本


感谢大家的帮助:)

我不知道问题的原因是什么,但是,通过将我的Xamarin.Forms和Xamarin.Essentials包分别降级到版本4.5.0.495和1.3.1,我不再收到错误,屏幕显示正确

我通过创建一个新的测试项目并尝试重新创建代码来解决这个问题。然后我试着运行它,它成功了。因此,我将原始代码的版本更改为在由Xamarin模板生成的项目中工作的版本


谢谢大家的帮助:)

我也经历过同样的问题;在最近的更新之后,我的应用程序在iOS中的
main.cs
上崩溃,出现了一个空异常。我最终隔离并解决了引发问题的原因

当我在
SfDataGrid
中填充的行数超过(跨平台,iOS)模拟器屏幕上的行数时,出现了问题;这会在我尝试垂直或水平滚动时触发崩溃。但是,如果行数小于屏幕大小,则不会崩溃。大约一周前,该应用程序还运行良好

事实证明,最新版本的Xamarin.Forms版本4.6.0.968中似乎存在一个bug。通过将Xamarin.Forms降级到版本4.6.0.847,问题得到了解决

以下链接提供了有关此问题的更多详细信息:


    • 我也经历过同样的问题;在最近的更新之后,我的应用程序在iOS中的
      main.cs
      上崩溃,出现了一个空异常。我最终隔离并解决了引发问题的原因

      当我在
      SfDataGrid
      中填充的行数超过(跨平台,iOS)模拟器屏幕上的行数时,出现了问题;这会在我尝试垂直或水平滚动时触发崩溃。但是,如果行数小于屏幕大小,则不会崩溃。大约一周前,该应用程序还运行良好

      事实证明,最新版本的Xamarin.Forms版本4.6.0.968中似乎存在一个bug。通过将Xamarin.Forms降级到版本4.6.0.847,问题得到了解决

      以下链接提供了有关此问题的更多详细信息:


      您在可疑代码行周围添加了try/catch块了吗?@Jason我添加了,但是因为UIApplication.Main函数是一个非常广泛的命令,我没有得到任何有用的。。。您知道收集调试信息的更好方法吗?添加appcenter.ms崩溃报告。这场崩溃实际上并没有发生,只是看起来发生了一场未经处理的崩溃。对不起@Jason,我以前从未用过这个。。。你有我可以跟随的链接/教程来告诉我如何使用它来找到错误的根源吗?再次感谢您是否在可疑代码行周围添加了一个try/catch块?@Jason我添加了,但是因为UIApplication。主功能是一个非常广泛的命令,我无法获得任何有用的。。。您知道收集调试信息的更好方法吗?添加appcenter.ms崩溃报告。这场崩溃实际上并没有发生,只是看起来发生了一场未经处理的崩溃。对不起@Jason,我以前从未用过这个。。。你有我可以跟随的链接/教程来告诉我如何使用它来找到错误的根源吗?再次谢谢你,我应该说得更清楚些。我的应用程序是一个跨平台的xamarin表单应用程序,因此它有通用、IOS、Android和UWP部分。我只关心IOS部分,因为它是我唯一遇到麻烦的部分…:)我刚刚检查了一下,关于你突出显示的内容,一切似乎都符合要求。。。还有其他想法吗?请尝试将您的示例与此处的示例演示进行比较,以缩小范围。因为在不知道什么被抛出为null的情况下,不可能
      public override bool FinishedLaunching(UIApplication app, NSDictionary options)
      {
            global::Xamarin.Forms.Forms.Init();
            Syncfusion.SfDataGrid.XForms.iOS.SfDataGridRenderer.Init();
            LoadApplication(new App());
      
            return base.FinishedLaunching(app, options);
      }