C# 将嵌入式.net可执行文件直接加载到内存中,这将从光盘中删除调用的可执行程序文件名

C# 将嵌入式.net可执行文件直接加载到内存中,这将从光盘中删除调用的可执行程序文件名,c#,.net,C#,.net,我想将嵌入式.net可执行文件直接加载到内存中,这将从磁盘中删除调用的可执行进程文件名 我有两个可执行文件A和B 文件B嵌入到文件A中 文件A应该加载它并调用它的方法 文件A退出 文件B中的进程应删除文件A并关闭 在这样的场景中可以使用method.Invoke吗? 我不太确定是否可以加载程序集运行并退出,让它运行 我在考虑按照类似的思路来做: 但是,除非文件A不自动关闭,否则可能称为进程B的进程将处于活动状态。我很难在这里看到您的问题。那篇文章给了你所需要的一切。您可以将文件作为字节数组读入

我想将嵌入式.net可执行文件直接加载到内存中,这将从磁盘中删除调用的可执行进程文件名

我有两个可执行文件A和B

  • 文件B嵌入到文件A中
  • 文件A应该加载它并调用它的方法
  • 文件A退出
  • 文件B中的进程应删除文件A并关闭
  • 在这样的场景中可以使用method.Invoke吗? 我不太确定是否可以加载程序集运行并退出,让它运行

    我在考虑按照类似的思路来做:


    但是,除非文件A不自动关闭,否则可能称为进程B的进程将处于活动状态。

    我很难在这里看到您的问题。那篇文章给了你所需要的一切。您可以将文件作为字节数组读入内存,关闭流(这将释放文件句柄)并完全从内存加载,然后您应该能够移动/删除/覆盖原始文件。您尝试过本文中的代码吗?是的,Invoke与调用程序集紧密链接。当执行的程序集终止原始进程时,它也会退出…啊,好吧,也许值得将此添加到问题中?我想我问了一个愚蠢的问题