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

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

5 ответов


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

Внутри Visual Studio:

  1. перейдите в Обозреватель решений,
  2. Правой Кнопкой Мыши на изображении,
  3. перейти к действиям сборки: выберите внедренный ресурс.

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

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

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

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

private void Form1_Load(System.Object sender, System.EventArgs e)
{
    System.Reflection.Assembly myAssembly = System.Reflection.Assembly.GetExecutingAssembly();
    Stream myStream = myAssembly.GetManifestResourceStream("EmbeddingExample.image1.bmp");
    Bitmap image = new Bitmap(myStream);

    this.ClientSize = new Size(image.Width, image.Height);

    PictureBox pb = new PictureBox();
    pb.Image = image;
    pb.Dock = DockStyle.Fill;
    this.Controls.Add(pb);
}

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


вы можете поместить все ваши файлы/изображения в EXE как Внедренные Ресурсы.

посмотреть как внедрить и доступ к ресурсам с помощью Visual C#с


ilmerge предназначен только для объединения двоичных файлов .net CLR вместе, обычно для объединения библиотек в основной исполняемый файл.

для таких вещей, как произведения искусства, вы хотите встроить их в качестве ресурсов в ваше приложение. Из ресурса вы можете получить поток, который позволяет работать с данными, как если бы они были в файле.

см. эту статью MSDN для получения информации о внедрении ресурсов:http://support.microsoft.com/kb/319292


когда вы добавляете изображение в проект в свойствах, вы можете установить его как встроенный ресурс, затем он будет добавлен в двоичный файл (dll или exe)


Я предпочту создать вспомогательную сборку для файлов ресурсов. http://msdn.microsoft.com/en-us/library/21a15yht%28v=vs.71%29.aspx