2013-07-12 1 views
0

Я создал приложение резервного копирования консоли (это 32-разрядная программа, запущенная на .net 3.5 на Windows 8 64bit) с этим DLLs:слияния зависимые библиотеки DLL в C# приложении

Delimon.Win32.IO,

SevenZipSharp,

7z (родной) dll Я попытался объединить их с ilmerge, но программа все еще запрашивает DLL (Delimon.Win32.IO не найден) при запуске.

Затем я попробовал второе решение: Добавить dll в ресурсы & handle AssemblyResolve event, все та же проблема.

Любая подсказка, в чем проблема ?.

Я не хочу коммерческого решения.

+0

Вы пытались объединить библиотеки DLL вместе или объединили библиотеки DLL в exe? В какой момент вы добавляете обработчик 'AssemblyResolve'? –

+0

Попробуйте вставить свою DLL в качестве ресурса, как описано здесь: http://stackoverflow.com/questions/3371583/serious-trouble-with-ilmerge-and-net-4-0 – Laughingman

+0

Я попытался объединить dlls в exe & добавлено событие решения Assembly для main() функции консольного приложения. – Ankush

ответ

1

Я бы рекомендовал использовать Costura.

https://github.com/Fody/Costura

COSTURA имеющийся на NuGet и простое решение для создания системы пользовательского AssemblyResolve. Это займет все ваши ссылки на проекты и автоматически добавит их во время сборки.

Кроме того, если у вас есть сборка в сборе или смешанный режим (например, 7zip), вам необходимо предоставить Costura с небольшой конфигурацией. Все включено в readme.

 Смежные вопросы

  • Нет связанных вопросов^_^