[英]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.