4

I am using the Entity Framework in combination with SQLite to make a database repository. I get the following error when running dotnet run.

 Standard Error Messages:
 Exception has been thrown by the target of an invocation. -> The type initializer for 'Microsoft.Data.Sqlite.SqliteConnection' threw an exception. -> Exception has been thrown by the target of an invocation. -> Unable to load shared library 'e_sqlite3' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment variable: dlopen(libe_sqlite3, 1): image not found System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
  ---> 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.DllNotFoundException: Unable to load shared library 'e_sqlite3' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment variable: dlopen(libe_sqlite3, 1): image not found
    at System.Runtime.InteropServices.NativeLibrary.LoadByName(String libraryName, QCallAssembly callingAssembly, Boolean hasDllImportSearchPathFlag, UInt32 dllImportSearchPathFlag, Boolean throwOnError)
    at System.Runtime.InteropServices.NativeLibrary.LoadLibraryByName(String libraryName, Assembly assembly, Nullable`1 searchPath, Boolean throwOnError)
    at System.Runtime.InteropServices.NativeLibrary.Load(String libraryName, Assembly assembly, Nullable`1 searchPath)
    at SQLitePCL.NativeLibrary.Load(String libraryName, Assembly assy, Int32 flags)
    at SQLitePCL.Batteries_V2.MakeDynamic(String name, Int32 flags)
    at SQLitePCL.Batteries_V2.DoDynamic_cdecl(String name, Int32 flags)
    at SQLitePCL.Batteries_V2.Init()
    --- End of inner exception stack trace ---
    at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
    at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
    at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
    at Microsoft.Data.Sqlite.Utilities.BundleInitializer.Initialize()
    at Microsoft.Data.Sqlite.SqliteConnection..cctor()
    --- End of inner exception stack trace ---
    at Microsoft.Data.Sqlite.SqliteConnection..ctor(String connectionString)
    at Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal.SqliteRelationalConnection.CreateDbConnection()
    at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.get_DbConnection()
    at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open(Boolean errorsExpected)
    at Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal.SqliteDatabaseCreator.Exists()
    at Microsoft.EntityFrameworkCore.Storage.RelationalDatabaseCreator.EnsureCreated()
    at Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade.EnsureCreated()
    at POC.repository.EF.DatabaseInitializer.Initialize(DatabaseContext context, Boolean dropCreateDatabase) in /Users/niel/School/integratieproject/pocintegratieproject/POC/repository/EF/DatabaseInitializer.cs:line 16
    at POC.repository.EF.DatabaseContext..ctor() in /Users/niel/School/integratieproject/pocintegratieproject/POC/repository/EF/DatabaseContext.cs:line 11
    at POC.repository.LeerkrachtRepositoryDatabase..ctor() in /Users/niel/School/integratieproject/pocintegratieproject/POC/repository/LeerkrachtRepositoryDatabase.cs:line 15
    at SpecFlowPOC.Steps.LeerkrachtInloggenStepdefinition..ctor(ScenarioContext sctx) in /Users/niel/School/integratieproject/pocintegratieproject/SpecFlowPOC/Steps/LeerkrachtInloggenStepdefinition.cs:line 17
    --- End of inner exception stack trace ---
    at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
    at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
    at System.Reflection.ConstructorInfo.Invoke(Object[] parameters)

I'm using Rider on MacOS.

This is my .csproj file:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.13" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="3.1.13" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="3.1.13" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.13" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.13">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="SqliteExtension" Version="1.0.0" />
    <PackageReference Include="SQLiteNetExtensionsCore" Version="2.0.0" />
    <PackageReference Include="SQLitePCLRaw.lib.e_sqlite3.osx" Version="1.1.14" />
  </ItemGroup>

</Project>

I'm already searching for a solution for two days without luck.

O'Niel
  • 1,622
  • 1
  • 17
  • 35

0 Answers0