gpt4 book ai didi

c# - 移动模拟器 Windows 10 的 SQLite UWP 错误

转载 作者:行者123 更新时间:2023-11-30 19:24:46 24 4
gpt4 key购买 nike

我在尝试编译和运行 VS 2015 UWP 应用程序时运行移动模拟器时收到以下错误。使用本地计算机或模拟器时,该应用程序运行良好。

   System.TypeInitializationException was unhandled by user code
HResult=-2146233036
Message=The type initializer for 'SQLitePCL.raw' threw an exception.
Source=SQLitePCL.raw
TypeName=SQLitePCL.raw
StackTrace:
at SQLitePCL.raw.sqlite3_open_v2(String filename, sqlite3& db, Int32 flags, String vfs)
at SQLite.SQLiteConnection..ctor(String databasePath, SQLiteOpenFlags openFlags, Boolean storeDateTimeAsTicks)
at SQLite.SQLiteConnection..ctor(String databasePath, Boolean storeDateTimeAsTicks)
at App3.MainPage.LoadSQLData()
at App3.MainPage..ctor()
at App3.App3_XamlTypeInfo.XamlTypeInfoProvider.Activate_0_MainPage()
at App3.App3_XamlTypeInfo.XamlUserType.ActivateInstance()
InnerException:
HResult=-2146233052
Message=Unable to load DLL 'sqlite3': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
Source=SQLitePCL.raw
TypeName=""
StackTrace:
at SQLitePCL.SQLite3Provider.NativeMethods.sqlite3_win32_set_directory(UInt32 directoryType, String directoryPath)
at SQLitePCL.SQLite3Provider..ctor()
at SQLitePCL.raw..cctor()

我有以下引用资料:用于通用 Windows 3.9.1 的 SQLitesqlite-net-pcl适用于通用 Windows 的 Microsoft Visual C++ 2013 运行时包

出现错误的代码在“using (var db......:

 int recCtr = 0;
var root = Windows.Storage.ApplicationData.Current.LocalFolder.Path;
var dbPath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "BaseBallOU.db");
List<string> NHLCollection = new List<string>();
using (var db = new SQLite.SQLiteConnection(dbPath))
{
var NHLlist = db.Table<Teams>().ToList();
foreach (var item in NHLlist)
{
recCtr++;
NHLCollection.Add(item.TeamName.ToString());
}
}

我看到很多类似的帖子,但有些帖子已经过时并且没有使用最新的 SQLite 库和 pcls。

我正在寻找正确的 SQLite dll、sqlite pcl、运行时(例如 VC++ 2013?以及可用于在本地计算机和手机模拟器上编译和运行 UWP 应用程序的版本号。

TIA

最佳答案

以下是我使用 SQLite 的方式:

  1. http://sqlite.org/download.html 下载并安装 Sqlite visual studio 扩展 enter image description here

  2. 创建一个新的空白 c# 通用 Windows 平台应用。

  3. 右键单击项目的引用 -> 添加引用 -> 通用 Windows -> 扩展 -> 为通用应用程序平台添加 SQLite 及其依赖项 Visual C++ 2015 Runtime for Universal Windows enter image description here

  4. 右击项目节点 -> 管理 NuGet 包 -> 搜索 SQLite.Net-PCL -> 安装默认版本 3.0.5 enter image description here

  5. 将您的代码更改为以下内容:

    using (var db = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), dbPath))
    {
    ...
    }

关于c# - 移动模拟器 Windows 10 的 SQLite UWP 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33320191/

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