ILMerge错误:SQLite.Interop.dll [无法从该位置加载程序集]

时间:2012-04-05 10:21:56

标签: visual-studio

我正在编写一个小应用程序,我决定使用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]。

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

1 个答案:

答案 0 :(得分:2)

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

ILMerge只能读取受管装配并将其组合到新的托管程序集中。如果必须混合本机dll和托管程序集,则需要创建setup / msi或bootstrapper。