Everytime there's an upgrade to this extension, the SQLite NuGet has to be upgraded, which lately happens with significant delay. The issue for me is that after upgrading the extension, all of the projects I'm working on, that use SQLite, break.
I tried embedding sqlite-net-wp8 and bumping the version manually which worked, but not for cases, when some NuGets depend on the sqlite-net-wp8 NuGet. It seems to me that building every such project manually defeats the purpose of having a dependency manager.
I'm currently developing for Windows Phone, Android and iOS (both using Xamarin) and only Windows Phone has the process of setting up the SQLite so fragile, which is a shame since I really enjoy developing for this platform.
I would like to suggest two solutions, that, if possible to implement, might make setting up SQLite on Windows Phone a little bit easier:
- allow developers to download previous versions of the extension
- combine the extension with sqlite-net-wp8, since in order to use the extension in Windows Phone apps we need sqlite-net-wp8 anyway and it needs to be updated along with extension
Implementing at least one of those solutions would of great help.
How do you download the 3.8.6 version? Is there a link for that ? I just upgraded to 3.8.7, and I'm getting:
Warning 5 The type 'SQLite.TableAttribute' in 'c:\Users\Steve\Documents\Visual Studio 2013\path_to_my_project\SQLite.cs' conflicts with the imported type 'SQLite.TableAttribute' in 'c:\Users\Steve\Documents\Visual Studio 2013\ ... \SQLiteWP8\Bin\x86\Debug\SQLiteWP8.dll'. Using the type defined in 'c:\Users\Steve\Documents\Visual Studio 2013\checkncelebrate\CheckNCelebrate\CheckNCelebrate\SQLite.cs'
is executing the vacuum statement supported, doesn't seem to work... if you have a code snippet that works that I could try that would be great
var db = new SQLiteWinRT.Database(filePathX);
"System.Exception: Invalid advise flags (Exception from HRESULT: 0x80040001 (OLE_E_ADVF))\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.GetResult()\r\n at APNO.HH.DAL.DbUtils.<UploadDatabase>d__0.MoveNext()"
I, too, humbly request an update for VS 2013. In the meanwhile, you can manually download the VSIX package from http://www.sqlite.org/download.html and install it. Afterwards it should appear in the list of installed extensions in VS 2013.
When I ran VS2013 I didn't see the SQLite extension in the Windows -> Extensions list of references. However I did see it when I ran VS2012. Here's what I had to do see SQLite for Windows Phone in the that references list:
* Make a backup of the SDKExtension manifest file and modify it to change the minimum supported version from "11" to "12". Note, this may cause problems for VS2012, I haven't tested it yet. I also added a FileReference tag to reference the sqlite3 DLL just to be safe. On my system the manifest file is here:
C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\ExtensionSDKs\SQLite.WP80\188.8.131.52
* Edit the file by opening a command prompt windows (cmd.exe) with *administrator priveleges* and edit the file SDKManifest.xml by running Notepad from the command line. Here's the updated file contents that worked on my system:
<?xml version="1.0" encoding="utf-8" ?>
DisplayName="SQLite for Windows Phone"
Close and save the file. That should get the SQLite for Windows Phone 8 extension to show up in the Windows Phone -> Extensions list.
NOTE: You still need to install the SQLite-net NuGet package to be able to work with the SQLite DLL. The extension just makes sure the correct SQLite dll is included in your app depending on your build configuration. If you get a Yellow Exclamation mark next to the SQLite for Windows Phone reference in your project, try changing your Build configuration to x86 to make it go away.
I need to clarify my answer. After adding a reference to the "SQLite for Windows Phone" extension in your project, you need to add the "sqlite-net" NuGet package to your project first, and then the "sqlite-net-wp8" NuGet package. Make sure you follow the instructions on the sqlite-net-wp8 page, especially the part about adding USE_WP8_NATIVE_SQLITE to your project conditional defines:
If you can't find the SQLite.cs and SQLiteAsync.cs source files in your project after doing that, then in the Solution Explorer pane press the "Show All Files" button and then the "Refresh" button. For some reason in my case, the files were added to my hard disk but not included in the project. Just highlight the two files, right click, and choose "Include in Project". That should get you a project that builds.
I just updated to v3.8.2 and now when I attempt to update an object in the db, I get an exception with the following message: "SQL logic error or missing database".
Is there any way that I can downgrade, or can you please fix this ASAP...
Note, I am using the sql-net-wp8 package along with sql-net C# wrapper.
this extension is not available within "Extension and Updates" within Visual Studio 2013 and when I convert a project from Visual Studio 2012 that requires this extension it doesn't run. Can you tell me when this extension will be available from within Visual Studio 2013?