- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试实现 SQLite 的令人难以置信的基本用法。我有一个 Button
和一个 EditText
。我想存储 EditText
OnClick
的内容。
我正在关注这个:https://developer.xamarin.com/guides/android/application_fundamentals/data/part_3_using_sqlite_orm/
和https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/databases/
如果不出现后续错误,我就无法通过以下起始代码:var db = new SQLiteConnection (dbPath);
错误:
The type initializer for 'SQLite.SQLiteConnection' threw an exception.
内部异常:
System.Exception: This is the 'bait'. You probably need to add one of the SQLitePCLRaw.bundle_* nuget packages to your platform project.
at SQLitePCL.Batteries_V2.Init () [0x00000] in <9baed10c674b49e0b16322f238b8ecc1>:0 at SQLite.SQLiteConnection..cctor () [0x00000] in /Users/vagrant/git/src/SQLite.cs:169 }
我已在 PCL 和 Android 项目上安装了 NuGet 包。我看到安装了以下软件包:
SQLitePCLRaw.provider.e_sqlite3.android
SQLitePCLRaw.lib.e_sqlite3.android
我尝试安装:
SQLitePCLRaw.bundle_e_sqlite3
如上所述,代码是最基本的实现:
try
{
string dbPath = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "TestDB-DEV.db3");
var db = new SQLiteConnection(dbPath);
db.CreateTable<PersonName>();
}
我花了几天时间研究这个问题,并尝试了许多资源,例如:https://forums.xamarin.com/discussion/87289/sqlite-net-pcl-bait-issue但最终没有成功。
不幸的是,诸如“它只是有效”、“不确定我做了什么”、“清理/重建”之类的废话是我见过的唯一答案,例如上一个链接,其他 SO 帖子,如 Xamarin SQLite "This is the 'bait'"
这是我的 Android 项目的 package.config
:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="sqlite-net-pcl" version="1.4.118" targetFramework="monoandroid60" />
<package id="SQLitePCLRaw.bundle_green" version="1.1.5" targetFramework="monoandroid60" />
<package id="SQLitePCLRaw.core" version="1.1.5" targetFramework="monoandroid60" />
<package id="SQLitePCLRaw.lib.e_sqlite3.android" version="1.1.5" targetFramework="monoandroid60" />
<package id="SQLitePCLRaw.provider.e_sqlite3.android" version="1.1.5" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.Design" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.v4" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.v7.AppCompat" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.v7.CardView" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.v7.MediaRouter" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.v7.RecyclerView" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.Vector.Drawable" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Forms" version="2.4.0.282" targetFramework="monoandroid60" />
</packages>
这是 PCL 项目的 package.config:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="sqlite-net-pcl" version="1.4.118" targetFramework="portable45-net45+win8+wpa81" />
<package id="SQLitePCLRaw.bundle_green" version="1.1.5" targetFramework="portable45-net45+win8+wpa81" />
<package id="SQLitePCLRaw.core" version="1.1.5" targetFramework="portable45-net45+win8+wpa81" />
<package id="Xamarin.Forms" version="2.3.4.247" targetFramework="portable45-net45+win8+wpa81" />
</packages>
最佳答案
我讨厌让自己陷入“我不知道如何解决它”的困境,但事实就是这样。我开始清理并复制粘贴代码并重新拉回 Nuget 包,一切正常。也许我最初忽略了一些东西,也许版本不匹配,我不能说。但是,我尝试添加 Trevor 提到的依赖项,问题仍然存在,所以我认为我没有遗漏任何东西。
关于c# - 'SQLite.SQLiteConnection' 的类型初始值设定项引发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46915404/
这有效,但 Resharper 在注释行上说“访问已处理的闭包” using (var db = new SQLiteConnection(SQLitePath)) {
class SQLiteDatabase { String dbConnection; static SQLiteConnection cnn;
是否可以在不先将二进制流保存到磁盘的情况下在二进制流上打开 SQLiteConnection?当然有一种方法可以“欺骗”连接,使其认为流是一个文件。我的意思是,它在内部就是这么做的,对吧? 最佳答案
我正在使用来自 system.data.sqlite.org 的 SQLite 我们需要从多个线程访问数据库(出于各种原因)。我已经阅读了很多关于 sqlite 线程安全功能的文章(默认的同步访问模式
我在我的项目中使用sqlite-net并且有一个名为SqLiteHelper的帮助器类。在这个类中,我有一个简单的方法,它将 TableQuery 结果作为列表返回。示例: public static
我正在尝试实现 SQLite 的令人难以置信的基本用法。我有一个 Button 和一个 EditText。我想存储 EditText OnClick 的内容。 我正在关注这个:https://deve
我在我的项目中使用sqlite-net并且有一个名为SqLiteHelper的帮助器类。在这个类中,我有一个简单的方法,它将 TableQuery 结果作为列表返回。示例: public static
当使用最新版本的 System.Data.SQLite nuget 包创建一个简单的 SQLite 事务时,我注意到 SQLiteConnection.BeginTransaction() 方法的智能
我正在使用 SQLite.NET PCL library在我的申请中。 使用库管理连接生命周期的最佳实践是什么? 我找不到任何使用 SQLiteConnection.Close() 方法的例子。但常见
我在多线程 Windows 桌面程序中使用 SQLite (System.Data.SQLite.dll)。我使用这段代码: using (var cn = new SQLiteConnection(
我正在尝试让多对多数据库关系在我的数据库中(当前)在 Android Samsung S6 移动设备上工作。为此,我使用 SQLite.Net-PCL 3.0.5 和 SQLiteNetExtensi
我是 Android 程序的初学者,遇到以下错误,尝试过提供的解决方案,例如在模拟器上清除 Google Play 商店数据仍然遇到相同的错误,没有使用任何数据库连接代码,但获取的数据库已泄漏,任何帮
我正在运行模拟器并收到以下有关内存泄漏的错误。有趣的是,泄漏的数据库似乎是 Google gms 而不是用户数据库。有谁知道如何修理它?谢谢! 09-27 15:55:07.252 2058-2068
我已经使用 NUGET 将 Sqlite Core 包安装到我的 c# 项目中: >Install-Package System.Data.SQLite.Core 我创建一个数据库连接如下: var
我正在尝试开始使用 sqlite + C#。我发现 SQLite-lib 不是标准库,因此我在每个引用中添加了它。 由于我更频繁地使用这个类,所以我考虑创建一个自己的类来处理所有事情。 现在,这是我的
我的应用程序使用 Google Play 服务,在 logcat 中收到以下警告 12-06 12:53:58.240 2748-2757/com.google.android.gms W/SQLi
我的应用程序给了我这个警告 A SQLiteConnection object for database '+data+data+com_example_test+database' was leak
我正在使用 SQLiteConnection 访问 Firefox 生成的 sqlite 文件。我的目标是使用此 C# 控制台应用程序查找所有已安装的扩展。 这就是问题所在,Firefox 会在第一次
我想知道 SQLiteConnectionContext 类的 MySQL 等价物是什么。我需要它能够为我的程序提供一个通用的连接上下文。我正在创建一个基于实体的解决方案,它将从 MySQL 数据库推
使用 .net 中的 SQLite,有没有办法访问 .dump 命令或 SQLiteConnection 类中的等效命令? 最佳答案 .dump命令是 sqlite 命令行程序 ( shell.c )
我是一名优秀的程序员,十分优秀!