C# · 12月 26, 2021

c# – 如何将所有文件编译为一个exe?

我在C#中编写了一个使用很多图像的项目,即Milk模型和openGL,我想将所有内容都包装在一个exe中,以便我可以将其上传到我的网站.
现在我得到一个依赖于其他文件(如jpgs等)的exe.
我试过使用ILMerge,但无法让它工作.有更简单的解决方案吗?
谢谢.解决方法 将其添加为嵌入式资源.

内部Visual Studio:

>转到解决方案资源管理器
>右键点击图片,
>建立动作:选择嵌入式资源.

你会在exe中有这个图像.稍后您可以使用Reflection并在运行应用程序时获取图像.

从应用程序获取嵌入式图像=========

首先解决第一个问题:将图像作为嵌入资源.

第二个问题:使用反射访问图像:

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); Picture@R_338_2419@ pb = new Picture@R_338_2419@(); pb.Image = image; pb.Dock = DockStyle.Fill; this.Controls.Add(pb);}

借用源代码从here: