ThinkGeo.com    |     Documentation    |     Premium Support

libSkiaSharp.dll not copied to bin\Debug

Hi,

I keep having troubles with package outputs not copying to bin\Debug when I build my project.

Now, I see libSkiaSharp.dll and libSkiaSharp.so are not going to the x64 directory and I have had to manually copy them to that location.

The same behavior is present where e_sqlite3.dll does not copy to x64 directory.

Regards,
Damian

Hi Damian,

ThinkGeo.Core depends on Microsoft.Data.Sqlite . This works fine in .NET 6+, but on older .NET Framework (such as 4.8) there are issues where some native DLLs are not copied to the output ( bin ) folder. This (even I think it’s a bug) isn’t exactly a bug according to Microsoft in Sqlite itself, but rather a limitation of the older MSBuild used with .NET Framework, which has limited support for detecting and copying native assemblies.

To fix this, you can either:

  • Add a reference to SQLitePCLRaw.bundle_e_sqlite3 in your project, which will ensure the native e_sqlite3 DLLs are included automatically, or if it’s not working for you
  • Manually copy the e_sqlite3 assemblies into your bin folder, as described here: ThinkGeo UI for DeskTop 13 and Sqlite

Thanks,
Ben