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

C# 使用反射更新程序集中的嵌入资源?,c#,C#,我有一个exe文件,里面有嵌入的资源。我需要编写另一个应用程序来打开exe,更新它的资源并将其保存为有效的可执行文件。我无法重新编译它,因为运行它的机器可能没有可用的源代码 这是可能的,我怎么需要一个想法或可能的链接,而不是要求一个完整的解决方案 编辑:我需要更新的程序集是.NET 3.5程序集。我想您可以在程序集中添加一个新类,该类带有嵌入式资源,可以操作这些资源。然后使用反射调用操纵方法。我的意思是这样的: /*The program which has embedded resources

我有一个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);

但是,不确定它是否能工作…

那么您不想将资源存储到其他地方吗?即使你想办法,这听起来也不是个好主意。你是指原生资源还是.NET资源?他们是不同的。第一个是源代码附带的,当我进行更新时,我只是用新版本替换整个可执行文件。你为什么要走冗长的路线修改和重新编译它?@Ales,是的,我更愿意把它分开,这样我就不会有任何问题,但管理层坚持认为它是一种嵌入式资源…@友好的,它将运行的机器可能没有源代码、原始程序集或任何开发工具,因此他们无法重新编译它。