求教如何将.net程序集和本地dll合并为一个文件
小弟最近做的一个项目中有一个xxx.dll引用了System.Data.SQLite.dll和NPOI.dll这两个程序集,考虑在部署的时候方便想将System.Data.SQLite.dll和NPOI.dll与这个xxx.dll合并。
使用ILMerge进行合并时报错经过查看发现问题出在System.Data.SQLite.dll身上,主要原因是System.Data.SQLite.dll引用了非托管C++的代码,System.Data.SQLite提供的两种编译模式dll我也都试过了均无法进行合并 (具体解释这两种编译模式的文章:http://jamesfancy.blog.51cto.com/2516291/1357462) ,而后又尝试使用.NET Reactor 进行合并,合并执行是成功了,但是合并后的dll无法正常工作,同样问题出System.Data.SQLite对非托管代码的调用上,想求教各位如何才能成功将System.Data.SQLite.dll与我的程序集进行合并?同时想到如果我自己的程序集需要对另一个C++dll的导出函数进行调用又该如何合并这两个dll文件呢?
另外想求教高手System.Data.SQLite是如何做到将非托管代码嵌入到托管代码中最终只形成一个文件的呢?
多谢各位!