使用反射更新程序集中的嵌入资源

本文关键字:集中 嵌入资源 程序集 程序 反射 更新 | 更新日期: 2023-09-27 18:30:46

我有一个内置资源的exe文件。我需要编写另一个应用程序来打开 exe,更新其资源并将其保存回有效的可执行文件。(我无法重新编译它,因为运行它的机器可能没有可用的源代码)。

这是否可能以及如何(我需要一个想法或可能的链接,而不是要求完整的解决方案)?

编辑:我需要更新的程序集是.NET 3.5程序集。

使用反射更新程序集中的嵌入资源

我想您可以在程序集中添加一个新类,其中包含将操作这些资源的嵌入式资源。然后使用反射调用操作方法。我的意思是这样的:

/*The program which has embedded resources*/
public static class ResourceManager
{
     public static void ChangeResource1(Base64 newResource);
     /*** Other methods***/
}
/*The program that modifies resources*/
MethodInfo[] method = typeof(ResourceManager).GetMethod(ChangeResource1);
method.Invoke(someNewData);

不确定它是否会起作用...