2

我正在尝试创建一个下载器,它必须是一个可执行文件。

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

我尝试添加 CORE 模块(来自此答案),并从需要 DLL 的函数中调用 EnsureInitialized() 子。但由于某种原因,我不断收到无法加载 DLL 的消息。如果我调用 assembly.load 函数,我会在该行收到 DLL not found 错误。DLL 作为资源嵌入,也嵌入在引用中(但没有本地副本,因为我不想要那个)。

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

有什么建议么?

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

rg,埃里克

4

1 回答 1

1

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

ilmerge /target:winexe /out:c:\MyMergedExe.exe c:\MySourceExe.exe C:\MyDLL1.dll C:\MyDLL2.dll
于 2013-09-26T21:03:10.573 回答