2013-09-26 2 views
2

Я пытаюсь создать загрузчик, и он должен быть одним исполняемым.создание одного exe со встроенной dll

С помощью this answer Мне удалось связать файлы DLL с исполняемым файлом. Но одна DLL использует собственную DLL, и я тоже не могу ее встроить.

Я попытался добавить модуль CORE (from this answer), и я вызываю функцию EnsureInitialized() из функции, которая нуждается в DLL. Но по какой-то причине я продолжаю получать сообщение о невозможности загрузки DLL. Если я вызываю функцию assembly.load, я получаю DLL не найденную ошибку в этой строке. DLL встроена как ресурс, а также в ссылки (но не локальная копия, так как я этого не хочу).

Почему это не загружает мою DLL? Я даже встроил его в свой исполняемый файл downloader и загрузил его там, но DLL, которая ему нужна, не загружает его или не загружает.

Любые предложения?

Код, который я использовал, является двумя упомянутыми ответами.

гк Эрик

ответ

1

Вероятно, самый простой подход к этому является использование ILMerge. Вы запускаете это из командной строки с указанием источника exe и DLL, которые хотите объединить, и выдает результирующий exe:

ilmerge /target:winexe /out:c:\MyMergedExe.exe c:\MySourceExe.exe C:\MyDLL1.dll C:\MyDLL2.dll 
Смежные вопросы