如何使用C#在内存中执行.NET控制台应用程序?

三星

从我的C#程序中,我试图直接从内存中执行一个包含另一个.NET可执行文件(一个C#控制台应用程序)的byte [],而又不接触磁盘。

我知道这里发布了类似的问题,还有一些关于如何做到这一点的好文章:

http://www.codeproject.com/Articles/13897/Load-an-EXE-File-and-Run-It-from-Memory

但是,它们都遇到相同的问题,但是它们只能用于在内存中执行Windows Forms应用程序,但是当我尝试执行Console-Applications时却无法正常工作。例子:

byte[] FileBytes = File.ReadAllBytes("C:\\MyTestProgram.exe");   // just for testing purposes

Assembly a = Assembly.Load(FileBytes);
MethodInfo m = a.EntryPoint;
m.Invoke(a.CreateInstance(m.Name), null);

当“ MyTestProgram.exe”是Windows窗体时,它会完美执行。但是,当“ MyTestProgram.exe”是控制台应用程序时,它将返回以下错误:

“未处理的异常:System.Reflection.TargetParameterCountException:参数计数不匹配”

请注意,控制台应用程序未接收任何参数,所以这很奇怪。

任何帮助将不胜感激:)

快速地

主要方法是静态的,您不需要传递Invoke实例。您必须这样称呼它:

 var parameters = m.GetParameters().Length == 0 ? null : new[] { new string[0] };
 m.Invoke(null, parameters);

此代码可同时处理Main()Main(string[] args)变体形式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用C#在内存中执行.NET控制台应用程序?

来自分类Dev

如何从.NET生成独立的控制台应用程序

来自分类Dev

如何使用 C# 在控制台应用程序中执行命令或进程

来自分类Dev

如何使.net Core 3.1控制台应用程序中的控制台记录器正常工作

来自分类Dev

在“ asp.net 5控制台”应用程序中,“控制台”不包含“ ReadKey”的定义

来自分类Dev

线程仍在执行时,是否可以使.net控制台应用程序返回控制?

来自分类Dev

如何从提供程序(C#.NET Core控制台应用程序)获取Args?

来自分类Dev

如何在 .Net Core 控制台应用程序中引用 .Net Core 库

来自分类Dev

AKKA.NET是在ASP.NET中还是在控制台应用程序中?

来自分类Dev

在标准 .net 控制台应用程序中使用 .Net Core dll

来自分类Dev

.Net在一个控制台应用程序项目中引用的解决方案中的多个控制台应用程序项目

来自分类Dev

NET C#控制台应用程序未正确检测到按键

来自分类Dev

Visual Studio C# 控制台应用程序 (.NET Core) 模板不同

来自分类Dev

将C#控制台应用程序转换为ASP.NET MVC应用程序

来自分类Dev

如何从C#中的控制台应用程序运行Web应用程序

来自分类Dev

安排C#控制台应用程序

来自分类Dev

Gmail控制台应用程序C#

来自分类Dev

使C#控制台应用程序与wpf交互

来自分类Dev

随机统计应用程序?(控制台C#)

来自分类Dev

河内C#塔控制台应用程序。

来自分类Dev

C#控制台应用程序即服务

来自分类Dev

控制台应用程序 c# 舍入

来自分类Dev

VS 2017 控制台应用程序 (C#)

来自分类Dev

如何在.Net控制台应用程序中获取承载令牌?

来自分类Dev

如何使Log4Net写入控制台应用程序中的EventLog?

来自分类Dev

如何在.NET Framework的控制台应用程序中创建通知?

来自分类Dev

如何在.NET Core控制台应用程序中设置DI容器?

来自分类Dev

如何在.net中以Web形式转换控制台应用程序?

来自分类Dev

如何在.NET Core控制台应用程序中实现MVVM?

Related 相关文章

  1. 1

    如何使用C#在内存中执行.NET控制台应用程序?

  2. 2

    如何从.NET生成独立的控制台应用程序

  3. 3

    如何使用 C# 在控制台应用程序中执行命令或进程

  4. 4

    如何使.net Core 3.1控制台应用程序中的控制台记录器正常工作

  5. 5

    在“ asp.net 5控制台”应用程序中,“控制台”不包含“ ReadKey”的定义

  6. 6

    线程仍在执行时,是否可以使.net控制台应用程序返回控制?

  7. 7

    如何从提供程序(C#.NET Core控制台应用程序)获取Args?

  8. 8

    如何在 .Net Core 控制台应用程序中引用 .Net Core 库

  9. 9

    AKKA.NET是在ASP.NET中还是在控制台应用程序中?

  10. 10

    在标准 .net 控制台应用程序中使用 .Net Core dll

  11. 11

    .Net在一个控制台应用程序项目中引用的解决方案中的多个控制台应用程序项目

  12. 12

    NET C#控制台应用程序未正确检测到按键

  13. 13

    Visual Studio C# 控制台应用程序 (.NET Core) 模板不同

  14. 14

    将C#控制台应用程序转换为ASP.NET MVC应用程序

  15. 15

    如何从C#中的控制台应用程序运行Web应用程序

  16. 16

    安排C#控制台应用程序

  17. 17

    Gmail控制台应用程序C#

  18. 18

    使C#控制台应用程序与wpf交互

  19. 19

    随机统计应用程序?(控制台C#)

  20. 20

    河内C#塔控制台应用程序。

  21. 21

    C#控制台应用程序即服务

  22. 22

    控制台应用程序 c# 舍入

  23. 23

    VS 2017 控制台应用程序 (C#)

  24. 24

    如何在.Net控制台应用程序中获取承载令牌?

  25. 25

    如何使Log4Net写入控制台应用程序中的EventLog?

  26. 26

    如何在.NET Framework的控制台应用程序中创建通知?

  27. 27

    如何在.NET Core控制台应用程序中设置DI容器?

  28. 28

    如何在.net中以Web形式转换控制台应用程序?

  29. 29

    如何在.NET Core控制台应用程序中实现MVVM?

热门标签

归档