Could you be more specific than that? The basic idea has not changed since the first Developer Build and neither has the location for the default directory. In fact db011 is nearly identical (just spread out more).
directory ?? DefaultDirectory(); and
Service.Provider.GetRequiredService<IDefaultDirectoryResolver>().DefaultDirectory(); in DB011. You said DB011 works right?
Oh, and another thing. I downloaded the symbols in a different way from the Nuget server and they match so I will post those here:
Couchbase.Lite.pdb.zip (149.3 KB)
Also, I disabled the symbol server all together and so now the symbols should get downloaded together with the original Nuget package (and this time they match!). I’m going to switch to portable format which will allow a new method of linking source directly to GitHub. More details in DB014.
This is great news, thanks!
Finding the bug will be much easier then.
Jim, I got it, I think:
It was neither the DependencyInjection nor the DatabasePath, but indeed the UwpDefaultLogger as you had been suggesting early on.
The culprit is this line in the Log method:
It is waiting for something that apparently never comes. No idea why, though. In particular, I have no idea why this is not happening in your environment but in ours.
Anyway, I changed
Task.Run(() => this.OpenAsync(filename)).Wait();
which makes the use of ManualResetEventSlim (_logginReady) in the class unnecessary, as far as I can see. Not perfect but feasible.
Hope this info helps in building the next versions.
Thanks for the info. I have another idea for dealing with that that I will try.
Instead I just made the Open method synchronous Mixing async and sync like what you said usually works, but every so often it results in a ridiculous deadlock somewhere that is nearly impossible to track down. That version will go into DB014 which will be finalized this Friday and pushed out early next week.
Great, thanks! I’ll check it out.