如何将文件添加到exe

时间:2014-03-17 01:57:55

标签: c# file embed exe

我有一个播放声音的程序但是如果我在另一台计算机上运行它会说文件没有找到如何将文件附加到exe上,所以当有人播放exe时它仍然会能玩吗?

4 个答案:

答案 0 :(得分:3)

如果您想将wave文件嵌入到程序中,请转到Project Properties - >资源 - >选择Audio作为类型,然后选择Add Resource并选择您的音频文件。这会将音频文件添加到资源目录中。完成此操作后,您可以右键单击Resources文件夹中的File,然后选择Properties并将Build Action更改为Embedded Resource

要访问该文件,您可以执行以下操作:

System.Media.SoundPlayer sp = new System.Media.SoundPlayer(Properties.Resources.tada);
sp.Play();

enter image description here

enter image description here

enter image description here

答案 1 :(得分:2)

打包项目文件时,在项目文件夹中创建一个文件夹来保存您的内容数据(文本 - 图片 - 视频 - 声音......等),然后为您的代码提供目标文件的相对路径,而不是绝对路径。

例如:

而不是

    string path = "c:\Projects\ProjectFolder\FileName";

这样做:

     string currentDir = AppDomain.CurrentDomain.BaseDirectory;
     string fullPath = currentDir + "ContentFolder/FileName.mp3(or whatever)";    

编辑:

    AppDomain.CurrentDomain.BaseDirectory

将是应用程序根目录,而不是bin子文件夹 - 这可能是您通常想要的。在客户端应用程序中,它将是包含主可执行文件的目录。

答案 2 :(得分:1)

您可以转到文件的属性,然后在复制到输出目录选择下,复制如果更新

enter image description here

当您准备使用安装程序发布时,可以使用c#程序打包EXE

答案 3 :(得分:1)

如果您无法更改源代码,我建议

http://m.instructables.com/id/How-to-create-portable-app/?ALLSTEPS

它是关于创建包含要合并的旧exe +新文件的新exe存档。当你调用那个新的exe时,它运行你的旧exe,但也包含你的音乐文件你可以按照步骤4和5

将exe和音乐文件放入同一文件夹并通过该方法压缩它们