我正在构建一个Windows 8应用程序,现在我想在该应用程序中使用SQLite。我通过Visual Studio 2013扩展管理器安装了“SQLite for Windows Runtime”,并通过NuGet将“sqlite-net”添加到我的项目中。
我试图在我的app.xaml.cs“OnLaunched”中创建一个数据库,但是当我运行项目时,却遇到了以下异常:
无法加载DLL文件“sqlite3”:找不到指定的模块。(HRESULT异常:0x8007007E)
这很奇怪,因为编译过程中没有错误。无论如何,我认为它试图告诉我需要引用附加的DLL文件:"sqlite3.dll",但这没用。我在文件系统上有6个不同的DLL文件:ARM、x64和x86的调试和发布版本。我尝试将x86发布版本添加到我的项目中,但结果出现此异常:
对 'C:\Users\Leon\Documents\Visual Studio 2013\Projects\Googalytics\packages\SQLite\x86\sqlite3.dll' 的引用无法添加。请确保文件可访问,并且是有效的程序集或COM组件。
令人非常沮丧的是,sqlite-net的文档很糟糕,非常过时(示例不再起作用),非常不完整,也没有提及手动添加DLL文件。所以我有两个问题:
1.如何解决这个问题?
2.在哪里可以找到sqlite-net的最新文档?
编辑:我用于创建数据库的代码是:
我从这里调用该方法:
我试图在我的app.xaml.cs“OnLaunched”中创建一个数据库,但是当我运行项目时,却遇到了以下异常:
无法加载DLL文件“sqlite3”:找不到指定的模块。(HRESULT异常:0x8007007E)
这很奇怪,因为编译过程中没有错误。无论如何,我认为它试图告诉我需要引用附加的DLL文件:"sqlite3.dll",但这没用。我在文件系统上有6个不同的DLL文件:ARM、x64和x86的调试和发布版本。我尝试将x86发布版本添加到我的项目中,但结果出现此异常:
对 'C:\Users\Leon\Documents\Visual Studio 2013\Projects\Googalytics\packages\SQLite\x86\sqlite3.dll' 的引用无法添加。请确保文件可访问,并且是有效的程序集或COM组件。
令人非常沮丧的是,sqlite-net的文档很糟糕,非常过时(示例不再起作用),非常不完整,也没有提及手动添加DLL文件。所以我有两个问题:
1.如何解决这个问题?
2.在哪里可以找到sqlite-net的最新文档?
编辑:我用于创建数据库的代码是:
private void InitializeDatabase()
{
var db = new SQLiteConnection("Googalytics");
db.CreateTable<Account>();
db.CreateTable<WebProperty>();
db.CreateTable<Profile>();
}
我从这里调用该方法:
InitializeDatabase();
if (rootFrame.Content == null)
{
// When the navigation stack isn't restored navigate to the first page,
// configuring the new page by passing required information as a navigation
// parameter
if (!rootFrame.Navigate(typeof(MainPage), args.Arguments))
{
throw new Exception("Failed to create initial page");
}
}
// Ensure the current window is active
Window.Current.Activate();
编辑2: 关于我的设置,以下是一些更多的信息:
- Visual Studio 2013 RC
- Windows 8.1 RTM
- SQLite for Windows Runtime 3.8.0.2
- sqlite-net 1.0.7