SQLite-net PCL 和 Xamarin.Forms

SQLite-net PCL and Xamarin.Forms

我对这个 Nuget 包有疑问: https://www.nuget.org/packages/sqlite-net-pcl/1.0.11

在我的测试用例中,我有一个名为 "PCL" 的 PCL 库,其中包含此 NuGet 包。还有一个空 class 有

using SQLite;
namespace PCL
{
    public class Test
    {

    }
}

现在我创建一个新的 Xamarin.Forms PCL 项目并引用这个库

using System;
using Xamarin.Forms;

namespace PCL
{
    public class App : Application
    {
        public App ()
        {
            // The root page of your application
            MainPage = new ContentPage {
                Content = new StackLayout {
                    VerticalOptions = LayoutOptions.Center,
                    Children = {
                        new Label {
                            XAlign = TextAlignment.Center,
                            Text = "Welcome to Xamarin Forms!"
                        }
                    } 
                }
            };
            var test = new Test();
        }
    }
}

现在我 运行 我的应用程序在 iOS 模拟器中,它被杀死了...... 当我不创建测试实例时,此应用程序启动正常...... 当我直接将这个包集成到我的表单库中时,我可以正常使用它。 这是什么原因造成的?

通常当您在 PCL 上处理 NuGet 包时,您需要在 iOS 项目和 PCL 上添加 NuGet 包。这是因为它可能包含一些特定于平台的代码(SQLite 库肯定是这种情况)。

当您将它添加到 iOS 项目时,它会加载 iOS 所需的特定程序集。这只是您需要注意的事情。

另外我会推荐这个包:https://www.nuget.org/packages/SQLite.Net-PCL/