0

我目前正在编写一个小应用程序,我决定使用 SQLite 数据库。我需要 2 个库与 ILMerge 合并:SQLite.Interop.dll 和 System.Data.SQLite.dll

问题是当我想将我的 exe 与这些 DLL 合并时。

当我尝试合并它们时,出现错误:合并期间发生异常:

ILMerge.Merge: Could not load assembly from the location 'C:\Program Files\Micro
soft\ILMerge\SQLite.Interop.dll'. Skipping and processing rest of arguments.
   w ILMerging.ILMerge.Merge()
   w ILMerging.ILMerge.Main(String[] args)

更重要的是,当我将 exe 与 System.Data.SQLite.dll 合并时,它可以工作。问题出在 SQLite.Interop.dll 库上。

我使用 .NET v4 [Visual Basic 2010]。

我真的需要你的帮助,问候。

4

1 回答 1

4

这不起作用,因为 SQLite.interop.dll 不是托管程序集。

ILMerge 只能读取托管程序集并将其组合成一个新的托管程序集。如果您必须混合使用本机 dll 和托管程序集,则需要创建 setup/msi 或引导程序。

于 2014-02-11T14:20:41.927 回答