System.Data.SQLite
View Ticket
Not logged in
Ticket UUID: a2c8f50da919121abd3f5c04dc155d7979eecfd2
Title: How to build managed-only dll to use with mono
Status: Closed Type: Build_Problem
Severity: Important Priority: Immediate
Subsystem: Build_Automation Resolution: Fixed
Last Modified: 2011-07-07 04:40:16
Version Found In: 1.73
Description:
The default config builds a library for windows .net, but the orig version has managed-only dll that can use with mono. How to build it now?

mistachkin added on 2011-07-01 03:57:44 UTC:
The new solution files include the following three projects (where 20XX is 2008 or 2010):

  • SQLite.Interop.20XX -- When built in the 'DebugNativeOnly' or 'ReleaseNativeOnly' build configurations, the output file contains only native library code; otherwise (i.e. in the 'Debug' and 'Release' build configurations), the output file is named 'System.Data.SQLite.dll' and contains a mixed-mode assembly that includes the complete code for the SQLite native library and the System.Data.SQLite managed assembly.

  • System.Data.SQLite.20XX -- Regardless of build configuration, the output file for this project ONLY contains the managed assembly code. This appears to be what you want in this case. There are several build settings contained in the '<root>\SQLite.NET.Settings.targets' file that have an impact on the SQLite core native library file name to be loaded.

  • System.Data.SQLite.Module.20XX -- Regardless of configuration, the output file for this project is a "netmodule", which is ONLY used while building the SQLite.Interop.20XX project in the 'Debug' and 'Release' configurations.