我正在尝试生成可通过更改嵌入资源进行自定义的通用 .NET 可执行文件。理想情况下,我希望能够使用编译后的可执行文件来完成这项工作,但使用某种中间表示形式也是可以接受的。关键在于我需要能够使用程序来完成这项工作,而不是手动操作。
考虑一个类似以下示例的 C# 程序:
考虑一个类似以下示例的 C# 程序:
namespace MyProgram {
public class Program {
public static void Main(string[] args)
{
using(var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("MyProgram.Resources.foo"))
{
// ignore stream == null
DoStuff(stream);
}
}
}
}
当某些资源被嵌入并命名为“foo”时,这将按预期工作。然而,我试图完成的是在没有嵌入资源的情况下构建程序,然后“后处理”程序以嵌入资源。实际上,如果可以同时嵌入具有任意名称的新资源并将其添加到资源清单中,则更好,以便在运行时程序可以读取嵌入的资源并对其进行操作。
是否有一种编程方式可以将新资源嵌入已编译的.NET可执行文件中?