如何复制我的 C# 可执行文件,同时将文本文件捆绑为资源?

问题描述 投票:0回答:0

我的 c# 程序是一个编程语言解释器,基本可执行文件工作正常。但我正在尝试创建一个“捆绑程序”命令,它将文本文件(可能是资源文件或其他文件)与解释器可执行文件捆绑在一起。因此,当运行捆绑的 exe 时,它会检测到存在捆绑的资源文件并执行该文件。

这类似于 nexe 与 Node.JS 的配合方式。

如果可能,这应该完全用 C# 完成,以便解释器可执行文件可以直接创建包。

我尝试过使用 Mono.Cecil:

var module = Mono.Cecil.AssemblyDefinition.ReadAssembly("z.exe");

var file = new EmbeddedResource(
    "program.zr",
    Mono.Cecil.ManifestResourceAttributes.Public,
    File.ReadAllBytes("a.zr")
    );

module.MainModule.Resources.Add(file);
module.Write("c.exe");

但是,这给了我

System.BadImageFormatException: 'Format of the executable (.exe) or library (.dll) is invalid.'

我尝试将其发布为单个 exe、x86 和 x64,但仍然出现相同的错误。 我尝试到处搜索但找不到有效的东西。

c# resources exe
© www.soinside.com 2019 - 2024. All rights reserved.