用嵌入式dll创建一个exe

时间:2013-09-26 20:05:19

标签: .net vb.net dll

我正在尝试创建一个下载程序,它需要是一个可执行文件。

this answer的帮助下,我设法将我的DLL文件链接到可执行文件。 但是,一个DLL使用它自己的DLL,我似乎也无法嵌入它。

我尝试添加CORE模块(from this answer),然后从需要DLL的函数调用EnsureInitialized()子。 但由于某种原因,我不断收到无法加载DLL的消息。 如果我调用assembly.load函数,我会在该行上找到DLL not found错误。 DLL作为资源嵌入,也作为引用嵌入(但没有本地副本,因为我不希望这样)。

为什么不加载我的DLL? 我甚至将它嵌入到我的下载程序可执行文件中并将其加载到那里,但是需要它的DLL没有加载它或使用加载的。

有什么建议吗?

我使用的代码是上面提到的两个答案。

RG, 埃里克

1 个答案:

答案 0 :(得分:1)

可能最简单的方法是使用ILMerge。您从命令行运行此命令行指定源exe和要合并的DLL,它会生成一个结果exe:

ilmerge /target:winexe /out:c:\MyMergedExe.exe c:\MySourceExe.exe C:\MyDLL1.dll C:\MyDLL2.dll