簡體   English   中英

sqlite-net-pcl SqliteAsyncConnection.CreateTableAsync<T> 拋出 System.MissingMethodException

[英]sqlite-net-pcl SqliteAsyncConnection.CreateTableAsync<T> throws System.MissingMethodException

我正在嘗試使用最新版本的 sqlite-net-pcl nuget 包創建一個表

var db = new SQLiteAsyncConnection("data.db");
await db.CreateTableAsync<Site>();

CreateTableAsync 調用引發以下異常:

System.MissingMethodException: '方法未找到:'System.String SQLitePCL.raw.sqlite3_column_name(SQLitePCL.sqlite3_stmt, Int32)'。'

這是站點類

public class Site
{
    [PrimaryKey, AutoIncrement]
    public int Id { get; set; }

    public String Name;
    public String PriceCssSelector;
    public String URLRegex;

    public Site()
    {
    }
}

我嘗試降級到 sqlite-net-pcl 包的最新穩定版本。

就我而言,問題是 Microsoft.AppCenter 和 Microsoft.Appcenter.Distribute。 這些包帶來了不兼容的 SQLite 版本,降級/刪除它們解決了問題。

刪除我項目中的app.config文件似乎已經解決了問題。

我解決了這個錯誤,方法是創建一個全新的解決方案並手動復制所有代碼和模型,然后讓 Visual Studio 從 Nuget 導入所有需要的引用。

在我的舊/以前的解決方案/項目中從 Nuget 卸載、重新安裝或刪除軟件包沒有幫助/工作。

顯然,來自以前的 Nuget 包的引用揮之不去或相互沖突是問題所在,因此重新開始是唯一對我有用的方法。

也可以看看這個鏈接:

“System.MissingMethodException: Method not found?”的類似 StackOverFlow 帖子

在安裝sqlite-net-pcl (用於玩弄 SQLite)之后,我偶然發現了這個錯誤,之后我又安裝了Microsoft.Azure.Mobile.Client.SQLiteStore

我的解決方案是卸載兩個 NuGet 包並僅安裝Microsoft.Azure.Mobile.Client.SQLiteStore安裝適當的sqlite-net-pcl版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM