.NET автономный исполняемый файл - PullRequest
1 голос
/ 16 февраля 2011

Я использую C # Express 2010. Я создал приложение WPF с бесплатными элементами управления Edit VIBlend, эти элементы управления используют соответствующие библиотеки DLL, возможно ли создать отдельный исполняемый файл? Я хочу скопировать только exe-файл на другую машину (фреймворк установлен, конечно), но я не хочу копировать dll!

Ответы [ 5 ]

3 голосов
/ 16 февраля 2011

Попробуйте использовать ILMerge

1 голос
/ 16 февраля 2011

ILMerge

Вот пара ресурсов, касающихся ILMerge, которые могут оказаться полезными:

ИспользованиеGAC

Что вы можете сделать, это зарегистрировать DLL в глобальном кэше сборок (GAC) на клиентском компьютере, чтобы он мог использовать сборки оттуда.

Но онидолжно быть установлено в GAC.

Edit

Кажется, что я был неправ, однако я настоятельно рекомендовал бы не включать сторонние библиотеки DLL в один исполняемый файл, потому что это можетне допускается лицензионным соглашением.

0 голосов
/ 16 февраля 2011

.NET поддерживает это "из коробки".См. это руководство как.

0 голосов
/ 16 февраля 2011

3-й вариант (из двух уже упомянутых) заключается в упаковке всего этого в установщик (MSI).Для этого по-прежнему требуется, чтобы библиотеки DLL находились где-нибудь (либо в папке приложения, либо в GACd), но это представляется клиенту более контролируемым образом.Они просто устанавливают пакет.

0 голосов
/ 16 февраля 2011

Не совсем, если у вас нет исходного кода для библиотеки, а затем вы готовы потратить время на решение всех проблем, которые возникнут при слиянии кода с исполняемой сборкой.

Если вы используетеПродукт для объединения сборок (например, SmartAssembly ), затем вы можете объединить все это в один EXE-файл, но SmartAssembly не является бесплатным.(Это отличный продукт, который делает гораздо больше, чем просто объединяет сборки)

...