我正在开发Windows Phone 8.1应用程序(WinRT),我想添加对SQLite的支持。我已将SQLite for Windows Phone扩展添加到项目中,并添加了SQLite-WinRT包装器。我还将构建配置更改为x86,以便它可以在模拟器中运行。 我的问题是:当我尝试打开与数据库文件的连接(创建或只是打开)时,我得到一个TypeLoadException。 我打开连接的代码是这样的:
using (var db = new SQLiteWinRT.Database(ApplicationData.Current.TemporaryFolder, "Database.db"))
{
await db.OpenAsync(SqliteOpenMode.OpenOrCreateReadWrite);
await db.ExecuteStatementAsync(@"create table if not exists MyTable ( ID integer not null primary key autoincrement, Name varchar(150) not null);");
await db.ExecuteStatementAsync(@"insert into MyTable (Name) values ('Rafael');");
}
当执行第一行时,我收到此错误:
以下是我项目中的参考文献列表:
感谢任何帮助。谢谢大家。
答案 0 :(得分:1)
所以我设法解决了这个问题。它似乎是由Visual Studio IDE未注册WinMD类型并在运行时导致TypeLoadException引起的。 下载Visual Studio Update 5 RC(候选发布者)将解决问题。将IDE更新为Update 5大约需要30分钟,具体取决于您的Internet速度。 RC版本非常稳定,它的工作正常,所以我不相信它会对您当前的项目造成任何问题。