ahmadamiri Ответов: 3

Как запустить приложение без него .DLL-файл


привет , мне нужно запустить программу без необходимости .dll файлы вместе с ним
Я использую SharpCompress для извлечения файла, но не должен быть таким .DLL-файл .l может быть кодом класса (code)

Что я уже пробовал:

Я использовал .сетчатый рефлектор
Я использовал .сетчатый рефлектор
Я использовал .сетчатый рефлектор

3 Ответов

Рейтинг:
23

Thomas Daniels

Вы можете объединить свои сборки вместе с ILMerge[^].


Рейтинг:
1

RickZeeland

В некоторых случаях, если у вас есть сложное решение, ILMerge не будет работать.
Вы можете попробовать Фоди Костура вместо: Гитхаб - Фоды/Costura: размещения ссылок на ресурсы[^]
Прочитать отзыв можно здесь: .NET Power Tip 10: слияние сборок | manuelmeyer.net[^]


Рейтинг:
0

OriginalGriff

Если приложение полагается на код в сборке DLL, то этот файл DLL должен быть отправлен вместе с приложением, он не может быть "включен" в сборку EXE, потому что это будет делать три вещи:
1) вероятно, аннулировать любое лицензионное соглашение, связанное с DLL, и как таковое быть против любого T&Cs, согласованного при установке DLL.
2) нарушить все внутренние, защищенные и защищенные ограничения внутреннего доступа в сборке DLL.
3) Сделайте невозможным автоматическое обновление кода сборки DLL без необходимости перестраивать и отправлять весь EXE-файл целиком.

Шансы на то, что это сработает на "всех библиотеках dll", в лучшем случае невелики: почти любая форма запутывания сделала бы это технически сложным делом в любом случае.

Почему ты думаешь, что это хорошая идея? С чего ты взял, что тебе это нужно?


0x01AA

"он не может быть "включен" в сборку EXE": Да, он может, см. ILMerge.

ahmadamiri

Мне удалось с помощью ILMerge ;)