Couchbase Mobile on Windows Surface Pro tablets

.net

#1

Hi,
Does Couchbase Mobile 1.1 work on Windows Surface Pro tablets running Windows 10? Has anybody tried this? We’re just starting out on a project where we need local storage for an app to be written with C#. We’re using Couchbase 4.1 on the server side. This app will run on Surface Pro 3 and 4 tablets. Any pointers will be greatly appreciated. Thanks!


#2

If you are asking about Universal Windows support then no, it is not supported at this time. Regular Windows desktop application will work.


#3

Hi,

I am trying to create a windows app for Surface Pro 4 with Couchbase Lite. Since UWP does not support couchbase lite, I tried normal WPF desktop application with couchbase lite. It run successfully without issues in my desktop but the same application when I tried in Surface Pro, I was getting Sqlite dll related error. I just followed the steps given in your couchbase website (https://www.nuget.org/packages/Couchbase.Lite/) and (http://developer.couchbase.com/documentation/mobile/1.1.0/develop/training/build-first-dotnet-app/index.html). In the below, I just mentioned the error.

Scenario: WPF normal desktop application tried in Surface pro with Couchbase lite.

ERROR:
CouchbaseLite: Error getting database:System.DllNotFoundException: Unable to load DLL ‘sqlite3’: The specified module could not be found. (Exception from HRESULT: 0x8007007E)
at SQLitePCL.SQLite3Provider.NativeMethods.sqlite3_libversion()
at SQLitePCL.SQLite3Provider.SQLitePCL.ISQLite3Provider.sqlite3_libversion()
at Couchbase.Lite.Database…cctor()
CouchbaseLite:End Couchbase Lite App

Please suggest me on this.

Thanks in Advance.


#4

@sivakumar for whatever reason, Visual Studio will not always copy over the sqlite.dll into the bin folder. Usually a clean + build will get things back on track. It’s easy enough to verify before running your app.

If it is there, but still not finding it, then ensure that it’s copying the correct native image for your target platform. It you’re targeting the x86 architecture but are copying the x64 version of sqlite.dll, you will still likely get the same DllNotFoundException. If you are targeting AnyCPU, then the build scripts won’t know which native image to choose.


#6

Hi zgramana,

Thanks for the suggestion. Visual studio copied sqlite.dll into the bin folders as two separate files (sqlite.dll for x86 and sqlite.dll for x64). I even tried applying the files individually to the solution (.exe file) in the bin folder.
And also I tried constructing separate solution for the x64 platform and received separate solution for x64 but still getting the same error.
I have one doubt that are there any separate sqlite for surface pro 4. Because everything is working perfectly in my desktop but on testing the same with surface pro I am facing this error.

Scenario: WPF desktop application (.Net) constructed on Windows 10 OS (Desktop machine) and tried the same solution for surface pro 4 (Windows 10 - Compatible 2 in 1 tablet as well as desktop).

If you have any suggestions on this, please let me know.

Thanks a lot.


#7

One more thing you need to make sure, for the time being, is that the visual studio 2012 C++ runtime is installed. That is likely the difference you are facing between your machines.

https://www.microsoft.com/en-us/download/details.aspx?id=30679


#8

Hi Borrrden,

Thanks for the workaround. I have resolved this issue by using a different pre-compiled binary sqlite dll and pasted directly inside the bin folder. With the new built solution, my application was able to connect with couchbase lite in surface pro.

Once again, thanks a lot for the suggestions.

Please let us know, when we will get couchbase lite dll for UWP applications.

Thanks,
Sivakumar.