Xamarin.forms Cross platform Oct. 2017

Your French exception messages above hinted that you were French :wink: . My goal is to be able to use Couchbase Lite in as many places as possible so I have set up shared code that runs on all of the platforms you mentioned (although Mac Desktop is through .NET Core, not Xamarin Mac. Couchbase Lite does not support Xamarin Mac, although it could if the right community user were interested, it wouldn’t take much work to build it, but we don’t have enough resources to test it).

You are right that PCL is obsolete, but it has been replaced with something better: .NET Standard. If you write a .NET Standard assembly, you can run it on many platforms both currently existing, and in the future. My suggestion is to write your code as a .NET Standard library and reference Couchbase.Lite from it. Couchbase.Lite itself is a .NET Standard library, but unfortunately the cross platform API coverage is not quite enough and so I use dependency injection to reach the rest (that is the reason for the call to Activate()). For automated testing, each build gets tested inside of a UWP test application, an iOS test application, an Android test application, and as a console program on Windows, Linux, and Mac. So I think you can see why it is confusing to me for the library to fail in such a basic way.

Usually with messages like that, it has to do with differing versions of a library being referenced in different places.

As for your question, as I mentioned having an offline first database with built in sync capabilities across platforms is the main goal of the project. It has been around since 2011, so the project itself it not exactly new (or were you referring to something else?), and 2.0 has been in development now for almost a year. It is pretty much feature complete for the 2.0 milestone, with API scrutiny and performance enhancements / functional testing coming in the final months.