gpt4 book ai didi

c# - 使用 SQLiteAsyncConnection 抛出 MissingMethodException

转载 作者:太空狗 更新时间:2023-10-29 23:50:05 25 4
gpt4 key购买 nike

第一次使用SQLite,选择了SQLite.net-pcl ,

我有一个 PCL 库,我从我的 UWP 应用程序使用它,我的 PCL 库有 DBContext 类:

public NewspaperDataContext(ISQLitePlatform sqLitePlatform, string applicationPath, string dataBaseName)
{
_sqlConnection = new SQLiteAsyncConnection(()=> new SQLiteConnectionWithLock(sqLitePlatform,
new SQLite.Net.SQLiteConnectionString(Path.Combine(applicationPath, dataBaseName), storeDateTimeAsTicks: false)));

CreateTableAsync(_sqlConnection, typeof(Article)).Result.Wait();
CreateTableAsync(_sqlConnection, typeof(Author)).Result.Wait();
CreateTableAsync(_sqlConnection, typeof(Category)).Result.Wait();
CreateTableAsync(_sqlConnection, typeof(Group)).Result.Wait();

var c = _sqlConnection.Table<Article>();
}

private async Task<Task> CreateTableAsync(SQLiteAsyncConnection asyncConnection, Type table)
{
return asyncConnection.CreateTableAsync<Author>().ContinueWith((results) =>
{
Debug.WriteLine(!results.IsFaulted
? $"Error where creating the {nameof(table)} table !!"
: $"Table {nameof(table)} created sucessfully!");
});
}

我从我的 UWP 应用中调用 NewspaperDataContext,如下所示:

private async void MainPage_OnLoaded(object sender, RoutedEventArgs e)
{
var n = new NewspaperDataContext(new SQLitePlatformWinRT(), ApplicationData.Current.LocalFolder.Path, "LiberteDB");
}

在行的 NewspaperDataContext 构造函数中:

var c = _sqlConnection.Table<Article>();

抛出一个奇怪的 MissingMethodException 说:

An exception of type 'System.MissingMethodException' occurred in SQLite.Net.Async.dll but was not handled in user code

Additional information: Method not found: 'Void SQLite.Net.SQLiteConnectionString..ctor(System.String, Boolean, SQLite.Net.IBlobSerializer, SQLite.Net.IContractResolver)'.

在互联网上找不到与此错误相关的任何内容,请有人帮忙。

最佳答案

sqlite-net-pcl 包应该只添加到 PCL 项目中。如果您将它添加到任何其他平台(例如 Android),它将给出此 MethodMissingException。因此,从其他平台中删除该包,因为只有 PCL 项目才需要该包。我给出这个答案是因为我遇到了同样的问题并找到了解决方案。我在使用 Xamarin.Forms 开发应用程序时遇到了这个异常。

关于c# - 使用 SQLiteAsyncConnection 抛出 MissingMethodException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35669047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com