148 / 116 / 10
Регистрация: 12.09.2011
Сообщений: 785
|
|
1 | |
Как объединить exe и dll в один файл19.10.2012, 19:31. Показов 11865. Ответов 28
Метки единый exe (Все метки)
Привет всем!
Подскажите, пожалуйста, возможно ли в проект VB.NET (2008 - 2012) добавить стороннюю open source библиотеку DLL так, чтобы при построении она не копировалась в выходной каталог, т.е. как бы находилась внутри программы в памяти? Дело в том, что я пишу свою программу на VB.NET, а необходимые мне функции реализовали на C#.NET. В общем, можно ли как-то интегрировать мою программу на VB.NET с классами на C#.NET так, чтобы в итоге получился один exe-шник без лишних библиотек на выходе? Спасибо!
0
|
19.10.2012, 19:31 | |
Ответы с готовыми решениями:
28
Как объединить exe и Dll в один файл Объединить EXE и DLL в один файл Как множество dll собрать в один dll или exe файл? Как объеденить файлы dll с exe ? Чтобы в итоге был только один exe файл |
Почетный модератор
21400 / 9134 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
|
|
19.10.2012, 19:55 | 2 |
Сообщение было отмечено Памирыч как решение
Решение
https://www.cyberforum.ru/post2820520.html
https://www.cyberforum.ru/post1164180.html https://www.cyberforum.ru/post3170887.html Что-то да пригодится. У меня где-то утилита тут на форуме валялась. Но свои сообщения я не нашел
2
|
148 / 116 / 10
Регистрация: 12.09.2011
Сообщений: 785
|
|
19.10.2012, 20:55 [ТС] | 3 |
Благодарю за ссылки и описания! Памирыч, а возможно ли использование C#-кода в одном проекте с VB-кодом, так чтобы получался один exe-шник?
0
|
Почетный модератор
21400 / 9134 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
|
|
19.10.2012, 20:59 | 4 |
Vinemax, я могу ошибаться, но после того как экзешник или Длл уже скомпилированы, то уже нет разницы, на чем они написаны - фрейм-то един...
Более того, IL Merge присоединяет к НЕТовскому экзешнику даже не .NET библиотеки (например, офисовские)
2
|
148 / 116 / 10
Регистрация: 12.09.2011
Сообщений: 785
|
|
19.10.2012, 21:24 [ТС] | 5 |
Памирыч, ну сейчас у меня фактически проблема в том, что я пишу интерфейс на VB.NET, а другие ребята уже сделали функционал на C#.NET. Все исходники у меня и мне их нужно "упаковать" в один проект, чтобы на выходе получался один exe-шник без дополнительных либов. Сейчас вот юзаю Visual Studio 2012, так вот там успешно добавил в проект на VB исходники C#... не матюкается и проект успешно строится без ошибок. Но вот теперь не могу сослаться на функции исходников на C#. Как-то надо объявить Imports или напрямую New указать, а оно не видит то, что написано на C#
0
|
148 / 116 / 10
Регистрация: 12.09.2011
Сообщений: 785
|
|
30.03.2015, 23:08 [ТС] | 7 |
Замабувараев, видимо, не совсем понял что мне нужно. Моя программа это конечная инсталляция в итоге и задача была именно на выходе при окончательном построении проекта получить единый exe-файл без дополнительных библиотек, сколько бы их не входило в проект. Если обратишь внимание, то все подключенные к твоему проекту библиотеки при построении ложатся в ту же папку, где и exe-шник, более того, они там и ДОЛЖНЫ присутствовать. А мне нужно было всё в одно приложение собрать, в один файл. По совету Памирыча уже долгое время пользуюсь ILMerge, шикарная вещь, реально всё складывает в один exe.
0
|
8 / 8 / 0
Регистрация: 15.10.2016
Сообщений: 10
|
||||||
09.09.2018, 08:32 | 8 | |||||
Добавить файл DLL в ресурсы. FileType=Binary
Добавить файл DLL в ссылки. Копировать локально=False Добавить код в ApplicationEvents.vb
5
|
Лень — мое второе и
|
|
09.09.2018, 12:36 | 9 |
Это ещё с 13 года висит в готовых решениях https://www.cyberforum.ru/post4766418.html
2
|
82 / 72 / 15
Регистрация: 18.01.2014
Сообщений: 348
|
|
23.10.2018, 07:10 | 10 |
Почему то с WindowsAPICodePack это не работает.
Свою dll, ItextSharp, FprnM1C.dll удалось по этому способу запрятать, а WindowsAPICodePack - никак. Смущает, что в названии присутствуют 3 точки: Microsoft.WindowsAPICodePack.Shell.dll, может из-за этого ?...
0
|
8 / 8 / 0
Регистрация: 15.10.2016
Сообщений: 10
|
|
25.10.2018, 22:06 | 11 |
WindowsAPICodePack у меня прекрасно работает. Значит делаете что-то не так. Посмотрите скрины, все ли так
1
|
8 / 8 / 0
Регистрация: 15.10.2016
Сообщений: 10
|
|
25.10.2018, 22:19 | 12 |
Запустите отладчик и проверьте срабатывает ли условие, если нет, то останавливайте отладчик вне условия и проверяйте что в ARGS.NAME показывает
1
|
148 / 116 / 10
Регистрация: 12.09.2011
Сообщений: 785
|
|
26.10.2018, 06:20 [ТС] | 13 |
WindowsAPICodePack содержит ряд неуправляемых библиотек, которые не могут быть объединены в .NET-сборку, потому как в .NET-сборки объединяются только в .NET-сборки.
1
|
82 / 72 / 15
Регистрация: 18.01.2014
Сообщений: 348
|
|
26.10.2018, 12:56 | 14 |
Условия не срабатывают
Мало того, в Arg.Name всегда одно и тоже: "ProgrammName.resources, Version 1.0.0.0 ....." При этом в другие условия (библиотеки которых успешно внедрились) он тоже не заходит
0
|
26.10.2018, 18:37 | 15 |
[
я так же не понимаю, как такое может быть. WindowsAPICodePack содержит ряд неуправляемых библиотек. Он работает с Windows, как Вы можете их встраивать?
1
|
148 / 116 / 10
Регистрация: 12.09.2011
Сообщений: 785
|
|
27.10.2018, 03:48 [ТС] | 16 |
XIST, взаимодействие с API Windows можно же реализовать и в .NET-сборках, просто сам пакет WindowsAPICodePack содержит неуправляемые библиотеки, написанные, видимо, на C++ или на Ассемблере, не суть, просто они неуправляемые и никак не могут быть прямо внедрены в .NET-сборку, только находиться рядом.
Добавлено через 22 минуты Я, например, когда хочу собрать все библиотеки в один exe-шник, но они в свою очередь ссылаются на какие-то свои неуправляемые, в bat-файле для ILMerge указываю для объединения именно .NET-библиотеки, ну а неуправляемые оставляю "за бортом" в той же папке. Чтобы отличить неуправляемую библиотеку от .NET-библиотеки достаточно посмотреть её свойства файла... в .NET-библиотеках будет пунктик Assembly version, а в неуправляемых, как правило, вообще никаких пунктиков нет, ни о разработчике, ни о чем либо другом.
0
|
82 / 72 / 15
Регистрация: 18.01.2014
Сообщений: 348
|
|
27.10.2018, 19:32 | 18 |
Nikventura, проясните, как у вас работает???
0
|
82 / 72 / 15
Регистрация: 18.01.2014
Сообщений: 348
|
|
17.01.2019, 10:24 | 20 |
Всем привет!
Сегодня неожиданно вылезло такое неприятное: после объединения всего в 1 экзешник перестала работать опция "Создать приложение, допускающее одновременное выполнение только одной своей копии". Т.е. если раньше, до объединения запускалась только 1 копия приложения, то теперь при включенной этой галочке всё равно запускаются сколько угодной копий. Что делать? Искать решение, откатить назад (разъединить экзешник) или делать собственную проверку на запуск только 1 копии?
0
|
17.01.2019, 10:24 | |
17.01.2019, 10:24 | |
Помогаю со студенческими работами здесь
20
Объединить 2 dll файла и exe в один Упаковать exe и dll в один exe файл Запаковка dll и exe в один исполняемый файл Объединить exe и dll Объединить dll и exe Объединить dll + exe Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |