Fixing SQLite errors in Xunit tests

This quick reference post shows how to fix the following error:

   System.TypeInitializationException : The type initializer for 'Microsoft.Data.Sqlite.SqliteConnection' threw an exception.
---- System.Reflection.TargetInvocationException : Exception has been thrown by the target of an invocation.
-------- System.Exception : Library e_sqlite3 not found

The scenario where this happens is something like:

The solution is to add a file named xunit.runner.json to your test project:

"$schema": "",
"shadowCopy": false

Be sure to set the file properties to Content and Copy if newer so that it actually ends up in the output folder along with the binaries for your test project.

I had this issue and it took a while to find the solution, so I thought I'd share it here with you.

In my situation, I had a test project that targeted:


and I was referencing Entity Framework:

  <ItemGroup Condition=" '$(TargetFramework)' == 'net6.0'">
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.0-*" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.0-*" />
<PackageReference Include="System.Text.Json" Version="6.0.0-*" />


<ItemGroup Condition=" '$(TargetFramework)' == 'net5.0'">
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="5.0.0" />
<PackageReference Include="System.Text.Json" Version="4.7.2" />

<ItemGroup Condition=" '$(TargetFramework)' != 'net5.0'">
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.17" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="3.1.17" />
<PackageReference Include="System.Text.Json" Version="4.7.2" />

When running my tests in Visual Studio, everything ran fine. However, when running from the command line, I see the dreaded Library e_sqlite3 not found.

I found quite a few hits when searching, but it was the advice above which came from this thread that fixed it.

Hope this helps!


Since you've made it this far, sharing this article on your favorite social media network would be highly appreciated 💖! For feedback, please ping me on Twitter.

Leave a comment

Comments are moderated, so there may be a short delays before you see it.