I recently decided, with the rest of the team at Couchbase, to migrate Couchbase Lite .NET to .NET Standard 2.0. This is a post-mortem of why that decision blew up in my face and cost me a weekend of stressful work and fighting.
This is just a short post to describe how to get around a very specific problem. I have a web address that should resolve to a different IP address based on whether or not I am connected to a VPN (using Shrewsoft as a client this time). I am writing it here in case I forget it later and need it. The gist is that you need to change the priority of your NIC binding so that the virtual interface is used before the real one when choosing a DNS server address.
I recently stumbled upon a new .NET tool that I find very useful. One of the pain points of developing a complicated library is that when users face a problem, they often provide inadequate information about the circumstances. This is not always their fault, as it is awkward to try to debug an already compiled library but this will hopefully eliminate that and give them the power to analyze even inside of a compiled library.
Some people might be wondering this as I (somewhat naively) dove into the task of taking on Unity3D as a freshman in my current company. At that time, Unity3D was far behind the times with a .NET 3.5-ish runtime and support for C# 4 at best (making it over half a decade behind the times). This became impossible to handle and so I was forced to put it on hold waiting for the promise of a more modern runtime that came around early 2016. The first Unity3D release containing Mono 4.8 and support for the .NET 4.6 profile came and so how has the story changed?
This is the final entry in my series about building Couchbase Lite .NET from source. As I mentioned in a previous post, I am too close and familiar with the library and I often forget that it is complicated and annoying to build without the amount of full time work that I have spent with it. This entry will feature something a bit different. Instead of going through a specific platform, it will go through what needs to happen to support a new platform that is not officially supported by Couchbase.
Automated testing in 2.0 for .NET is something I’ve put a lot of work into. Our QE team and build team are not very big and so that often means if I want something done I will have to set it up myself. That’s exactly what I did and so I am able to speak authoritatively on how this process works.
This is the fourth entry in an ongoing series about building Couchbase Lite .NET from source. As I mentioned in a previous post, I am too close and familiar with the library and I often forget that it is complicated and annoying to build without the amount of full time work that I have spent with it. This entry will feature Xamarin iOS as the target.