Я разрабатываю проект net compact framework в sharpdevelop 3.2. Он отлично работает, но должны быть DLL, такие как сетевой провайдер firebird и другие сборки, которые я использую, внутри папки с exe, когда я его запускаю. Как встроить все эти dll в exe, чтобы они были встроены в один файл exe и не нужно копировать и вставлять их отдельно в папку, из которой я запускаю exe?
SharpDevelop - как встроить, скомпилировать exe файл со сборками dll?
comment
или мне просто нужно использовать ilmerge?
- person user3762355   schedule 21.06.2014
Ответы (1)
Метод, который я использую чаще всего для такого рода вещей, - это добавить сборки в EXE в качестве ресурсов, а затем добавить обработчик для _ 1_, чтобы распаковать сборку из ресурса в память и загрузить оттуда.
Приятная часть использования AssemblyResolve
заключается в том, что при необходимости вы можете переопределить сборки с привязкой к ресурсам реальной сборкой на диске, поскольку он не будет вызывать AssemblyResolve
, пока не сможет найти сборку обычными средствами. Если вы предпочитаете, чтобы он всегда загружал ресурс, перехватите AssemblyLoad
< / a> вместо этого.
Вы также можете сжать ресурсы, чтобы уменьшить раздувание, сэкономив на общем количестве развернутых байтов.
person
Corey
schedule
21.06.2014