【问题标题】:How do I add a file to a exe如何将文件添加到exe
【发布时间】:2014-04-22 03:32:14
【问题描述】:

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

【问题讨论】:

标签: c# file embed exe


【解决方案1】:

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

当您准备好使用安装程序发布 EXE 时,可以将其与您的 c# 程序一起打包

【讨论】:

    【解决方案2】:

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

    例如:代替

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

    这样做:

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

    编辑:

        AppDomain.CurrentDomain.BaseDirectory
    

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

    【讨论】:

    • +0: CurrentDirectory 是非常危险的方法。请务必搜索有关如何从输出(bin 等)文件夹中读取文件的类似问题。
    • 实际上有很多方法可以完成这项工作,感谢您的建议,因为我需要修改差异而不是写下我想到的第一个答案
    • +1。感谢您的编辑 - BaseDirectory 是获取文件位置的更可靠方法(因为 exe 可以使用任何当前目录启动,包括)。
    【解决方案3】:

    如果不能更改源代码,我建议

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

    它是关于创建新的 exe 存档,其中包含要合并的旧 exe+新文件。当您调用该新 exe 时,它​​会运行您的旧 exe,但也包含您的音乐文件您可以按照第 4 步和第 5 步进行操作

    把你的exe和音乐文件放到同一个文件夹里,通过那个方法压缩

    【讨论】:

    • 对于 SO,仅链接不是一个好的答案格式。您需要对其发表评论或提供足以理解其内容的链接摘要。
    • +1 now:创建安装程序的合理方法...关于帖子:不要忘记从帖子中删除签名-您已经将其作为用户名...并检查是否需要“按照第 4 步和第 5 步重复两次”。
    • 谢谢@AlexiLevenkov,现在我可以发表评论了。你很慷慨。
    【解决方案4】:

    如果您想将波形文件嵌入到您的程序中,请转到您的项目属性 --> 资源 --> 选择音频作为类型,然后选择添加资源并选择您的音频文件。这会将音频文件添加到您的资源目录。完成此操作后,您可以右键单击资源文件夹中的文件并选择属性并将构建操作更改为Embedded Resource

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-09
      • 1970-01-01
      • 2020-09-12
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      • 2012-02-15
      • 1970-01-01
      相关资源
      最近更新 更多