Skip to content

e_sqlite3.dll not included in single file output with Native AOT compilation #1243

Open
@CodeFanaticX

Description

@CodeFanaticX

Issue Description:

Environment:

  • OS: Windows 10
  • .NET version: .NET 9
  • Library: sqlite-net (using Microsoft.Data.Sqlite for SQLite interaction)

Problem:
When compiling my project with Native AOT settings aimed at producing a single file executable, the e_sqlite3.dll is not included in the compiled output. This results in runtime errors due to the absence of the e_sqlite3.dll native library, which is crucial for SQLite functionalities.

Expected Behavior:
The Native AOT compilation process should include all necessary DLLs into the single executable file, ensuring that no external dependencies are required at runtime for SQLite functionalities.

Actual Behavior:
The e_sqlite3.dll is not embedded within the single executable, necessitating manual inclusion or other workarounds to ensure that the application functions correctly after deployment.

Steps to Reproduce:

  1. Create a .NET console application.
  2. Add the sqlite-net-pcl NuGet package to the project, which relies on Microsoft.Data.Sqlite.
  3. Implement functionality to interact with an SQLite database using the sqlite-net library.
  4. Configure the project for Native AOT compilation with the option to produce a single file executable.
  5. Compile and deploy the application.
  6. Run the executable on a system without e_sqlite3.dll located in the application directory or system path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions