Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,845
Записей в блоге: 14

Как вшить в exe неуправляемую библиотеку?

07.11.2019, 10:51. Показов 3533. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Моя программа использует управляемую библиотеку, а та, в свою очередь - неуправляемую библиотеку, импортируя функции через DllImport. Кто знает, как вшить их обе, чтобы распространять единый exe-файл?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.11.2019, 10:51
Ответы с готовыми решениями:

Как вшить dll в exe?
Как можно убрать эти зависимые dll,но что бы программа работала?

Как вшить неуправляемую библиотеку в exe
Слышал про утилитку IlMerge, но как я понял она привязывает сборки написанные и скомпилированные на шарпе. Пробовал добавлять ресурс,...

Вшить библиотеку в EXE
Собственно как это сделать?

28
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
07.11.2019, 11:44
Студворк — интернет-сервис помощи студентам
Usaga, Я не спорю, и не утверждаю что библиотеки рядом этом плохо, не нужно меня убеждать в обратном. Человек попросил как ему надо я предложил ему использовать как вариант ресурсы. Для ярлыка на рабочем столе можно так же заставить приложение создавать его при запуске если запуск был не с ярлыка. Вариантов масса и только рядом лежащие библиотеки и инсталлятор это не одно и только одно правильное решение, это только один из возможных вариантов. Пользователю пофиг как работает приложение, какие использует библиотеки. Пользователю лишь бы работало.

Добавлено через 53 секунды
Цитата Сообщение от Usaga Посмотреть сообщение
И да: вы хоть раз встречали такое, что кто-то лез и грохал DLL'ки?
Встречал и не раз, и с разными возрастами, пытливые умы, они такие, знаете))
0
Эксперт .NET
 Аватар для Usaga
14727 / 9497 / 1362
Регистрация: 21.01.2016
Сообщений: 35,818
07.11.2019, 11:49
Andreyip, а я утверждаю, что такой подход - необоснованные проблемы для разработчика с нулевой конечной ценностью. Никакие библиотеки упаковывать в ресурсы не надо. Либо нормальный инсталлятор, либо просто папка с файлами (можно заархивировать для передачи). Всё, что между - занятия ерундой.
0
Эксперт .NET
 Аватар для Usaga
14727 / 9497 / 1362
Регистрация: 21.01.2016
Сообщений: 35,818
08.11.2019, 04:17
Цитата Сообщение от Usaga Посмотреть сообщение
IamRain, вы будете жрать, но MS начали рассуждать именно в таком ключе и в .NET Core 3 запилили Single Exe: все сборки, плюс рантайм пихаются в один EXE, который из себя представляет самораспаковывающийся архив. При запуске, он всё добро вываливает в профиль пользователя и оттуда запускает.
Оказалось, что этот подход имел своей целью ускорение загрузки и запуска приложения, а не просто потешить перфекционизм любителей портативных приложений.

На конференции NDC Райан Новак упомянул Single File publishing и рассказал, что при загрузке такого EXE упакованные в него DLL'ки не копируются куда-то там, а хитрым образом, с помощью Memory Mapped File, проецируются сразу в оперативку. Вроде как это быстрее даже, чем поднимать сборки валяющиеся рядом с EXE.

Сам доклад:


Добавлено через 3 минуты
Чего-то форум не даёт нормально ссылку вставить на ютуб.

https://www.youtube.com/watch?v=7dJBmV_psW0
3
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
08.11.2019, 06:43
Цитата Сообщение от Usaga Посмотреть сообщение
а конференции NDC Райан Новак упомянул Single File publishing и рассказал, что при загрузке такого EXE упакованные в него DLL'ки не копируются куда-то там, а хитрым образом, с помощью Memory Mapped File, проецируются сразу в оперативку. Вроде как это быстрее даже, чем поднимать сборки валяющиеся рядом с EXE.
Сейчас так не работает. Это планы на будущее (.NET 5).
Хотя в .NET 5 вообще нативную компиляцию обещали, зачем там нужен будет такой single file не понятно...
2
Эксперт .NET
 Аватар для Usaga
14727 / 9497 / 1362
Регистрация: 21.01.2016
Сообщений: 35,818
08.11.2019, 07:37
Ага. Но всё равно это весьма весомый аргумент в пользу упаковки в один EXE. А не эфемерное удобство пользователю от созерцания одинокого файла в папочке)
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
08.11.2019, 10:33
Интересно, вот эти любители вшить все в один файл - это не те же самые граждане, которые на игровых форумах возмущаются когда очередная игрушка выпускает патч на пару гигов, т.к. все ресурсы в один архив упакованы?
0
Эксперт .NET
 Аватар для Usaga
14727 / 9497 / 1362
Регистрация: 21.01.2016
Сообщений: 35,818
08.11.2019, 11:09
Возможно, что эти граждане отпочковались от тех, что любят файлы в СУБД пихать, а потом удивляются почему бэкапы сутками снимаются\накатываются и не влазят ни на что)
0
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
08.11.2019, 11:12
kolorotur, для этого всякие хранилища существуют с динамическими ресурсами))). которые многие игровые движки поддерживают)))

Добавлено через 3 минуты
100% это они, а еще они Interop обертки пишут с нативными библиотеками в комплекте с извлечением нативной библиотеки нужной битности под систему, глупые люди что с них взять)).
0
Эксперт .NET
 Аватар для Usaga
14727 / 9497 / 1362
Регистрация: 21.01.2016
Сообщений: 35,818
08.11.2019, 11:17
Andreyip, что-то я не видел, что такое делали. Поставьте SQLite из nuget. Там Interop + две DLL'ки под каждую архитектуру. Видимо ребята не знали, что это некрасиво для пользователя и нормальные пацаны должны библиотеки обязательно извлекать из EXE)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.11.2019, 11:17

Как вшить библиотеку MSVCP100.dll в программу?
Добрый день. Написал программу и у меня она работает на отлично, однако у знакомых она требует библиотеку MSVCP100.dll. Вариант скачать ее...

Как вшить библиотеки в exe
Здрасти. Для своего проекта я использую стороннюю библиотеку. Так, вот вопрос, как вшить файлы этой библиотеки в сам exe файл? что бы для...

Как вшить openMP в .exe ?
Программа использует OpenMp, следовательно вынужден с ней носить vcomp140.dll для Visual C++ 2017 Redistributable. Но сильно бы хотелось...

Как вшить файлы в exe-файл
Такая проблема, мне надо набросать программу установки, но мне не особо хочется, чтобы пользователь не мог просматривать файлы перед их...

Вшить иконки в exe как на WinForms
Здравствуйте. Можно как-нибудь вшить иконки в exe? В Winforms можно было загрузить все в ресурсы и все дела. Потом можно было просто...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru