Как собрать все программы в один файл

Я написал проект на С#, который использует много изображений, модели Milk и openGL, и я хочу упаковать все в один exe, чтобы я мог загрузить его на свой сайт. Прямо сейчас я получил exe, который зависит от других файлов, таких как jpgs и т.д. «. Я пытался использовать ILMerge, но не мог заставить его работать. Есть ли более простое решение? спасибо.

Segev 08 авг. 2012, в 12:59
Поделиться
Вы хотите создать настройку?
Arsen Mkrtchyan 08 авг. 2012, в 10:28

Поделиться:

5 ответов

Лучший ответ

Добавьте это как внедренный ресурс.

Внутри Visual Studio:

  • Перейдите в Solution Explorer,
  • Щелкните правой кнопкой мыши изображение,
  • GO для создания действий: выберите встроенный ресурс.

У вас будет этот образ внутри exe. Позже вы можете использовать Reflection и получить изображение при запуске приложения.

========= Получение встроенного изображения из приложения =========

Сначала разрешите первую проблему: поместив изображения в качестве встроенного ресурса.

Как объединить несколько файлов PDF

Вторая проблема: доступ к изображениям с помощью Reflection:

private void Form1_Load(System.Object sender, System.EventArgs e)

Заимствованный исходный код здесь:

Rajesh 08 авг. 2012, в 12:22
Поделиться

Что вы подразумеваете под отражением? Я изменил все мои фотографии на Embedded, и я вижу, что мой exe больше в папке отладки, но если я удаляю фотографии из папки отладки и пытаюсь запустить exe, я получаю сообщение об ошибке «это приложение должно закрыться ..»

Segev 08 авг. 2012, в 11:43
Как будто exe-файл все еще зависит от других файлов, хотя и содержит их.
Segev 08 авг. 2012, в 11:52

Читайте также:
Портативные программы не запускаются

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

Rajesh 08 авг. 2012, в 12:05

В этом контексте Reflection — это способ доступа к изображениям, текстам или всему, что вы создаете как встроенный ресурс. Отражение имеет широкое использование. Одним из способов использования является доступ к вашим изображениям из самого Exe.

Rajesh 08 авг. 2012, в 12:07

Это моя проблема. Exe больше, но не будет работать в другой папке. Он будет работать только в папке с фотографиями

Segev 08 авг. 2012, в 12:07

Я постараюсь объяснить себя лучше. Допустим, мой exe — 1 МБ, а a.jpg — 4 МБ. Сделал встроенную вещь и теперь мой exe стоит 5 мб. Exe будет работать только внутри папки с a.jpg. Если я удалю a.jpg, exe завершится с ошибкой Windows «Это приложение должно закрыться».

Компилирование всех файлов проекта в один EXE | Wpf

Segev 08 авг. 2012, в 12:10

Файлы находятся внутри exe. Как я могу получить к ним доступ с отражением? мне нужно добавить код выше к моему?

Segev 08 авг. 2012, в 12:16
msdn.microsoft.com/en-us/library/aa984367(v=vs.71).aspx может быть полезным для вас в этом случае ..
Rajesh 08 авг. 2012, в 12:19

Читайте также:
Каково назначение инструмента interactive connector интерактивное соединение в программе coreldraw

Я использую что-то вроде этого, чтобы загрузить мои фото. Попытка выяснить, как использовать отражения от вашей ссылки. void GenerateTextures() < GL.glGenTextures(5, Textures); string[] imagesName = < «L.jpg», «M.jpg», «RR.jpg», «R.jpg», «floor2.jpg» >; for (int i = 0; i < 5; i++)
Segev 08 авг. 2012, в 12:33

Вы должны получить изображения из Reflection: Попробуйте что-то вроде: myAssembly.GetManifestResourceStream («YOURASSEMBLYNAMESPACE.L.jpg»); также проверьте ссылку msdn.microsoft.com/en-us/library/aa984367(v=vs.71).aspx

Rajesh 08 авг. 2012, в 12:37
Понял!! Большое спасибо!
Segev 08 авг.

2012, в 13:08

Поздравляю !! Ты сделал это. Теперь, пожалуйста, отметьте мой ответ как ответ 🙂 для всех этих усилий 2 часа: D

Источник: overcoder.net

Как скомпилировать все проекты солюшена в один .EXE?

Есть солюшен (Solution). В нем 4 проекта. Один главный, три второстепенных. Главный проект использует типы из второстепенных и наоборот. Короче все они переплетены. Как все это скомпилировать в один .EXE файл для последующего распространения? UPD Т.к. похоже,что не все поняли о чем речь, то постараюсь дополнить свой вопрос.

Вот небольшой пример: В solution Explorer видно, что в Solution добавлено два проект. Проект App2 зависит от проекта App1. App1 добавлен в References. введите сюда описание изображения Так же прописаны соответствующие зависимости.

введите сюда описание изображения Если просто откомпилировать этот Solution, то на выходе получим два файла — App2.exe и App1.dll. Таким образом, чтобы приложение заработало, скажем на другом компьютере, нужно переписать туда два этих файла. Иначе произойдет ошибка времени выполнения. Что-то вроде Could not load file or assembly. The system cannot find the file specified.

Так вот хотелось бы откомпилировать приложение таким образом, чтобы в итоге получился только один файл — App2.exe. И чтобы распространять это приложение можно было одним файлом. А файл App1.dll была как бы встроена в него.

Читайте также:
Какую программу для кассы выбрать

Отслеживать
Mikhail Danshin
задан 23 ноя 2015 в 17:08
Mikhail Danshin Mikhail Danshin
1,129 1 1 золотой знак 9 9 серебряных знаков 27 27 бронзовых знаков
А в чём конкретно проблема?

Почему нельзя деплоить один .exe и три .dll?
23 ноя 2015 в 18:41

Сразу скомпилировать в один общий exe нельзя. Но можно слить несколько dll/exe в один уже после сборки. Посмотрите ответы по ссылке.

– user177221
23 ноя 2015 в 19:29

Или, как вариант, можно влить ваши dll как ресурсы — но я бы вам посоветовал вариант с ilmerge — это нормальный официальный ™ способ, а не самописный костыль.

– user177221
23 ноя 2015 в 19:39

Да, ILMerge помог. Добавил в Post-build events вот эту строку «$(SolutionDir)ILMergeILMerge.exe» /out:»$(TargetDir)$(TargetName).all.exe» «$(TargetDir)$(TargetName).exe» «$(TargetDir).dll» /target:exe /targetplatform:v4,C:WindowsMicrosoft.NETFramework64v4.0.30319 /wildcards* Работает замечательно!

Источник: ru.stackoverflow.com

Как собрать архив из нескольких частей архиватором 7-zip

Как собрать архив из нескольких частей архиватором 7-zip

Что делать если Вам нужно собрать один файл из нескольких архивов. Это очень просто сделать имея под рукой архиватор 7-Zip и прочитав нашу короткую инструкцию.

Для начала заходим в папку с этими архивами и выделяем их.

Выделив нужные файлы жмем по ним правой кнопкой мыши, переходим на вкладку 7-Zip и нажимаем здесь на «Extract files. ».

Как собрать архив из нескольких частей архиватором 7-zip

Все, в результате этих не хитрых действий Вы получите свой заветный файл, который хотели открыть.

Как собрать архив из нескольких частей архиватором 7-zip

Как разбить файл на несколько архивов Вы можете посмотреть здесь.

Источник: besplatnye-programmy.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru