会发生什么事,当用户点击.NET程序集(EXE)? [英] What happens when user click .NET assembly (EXE)?

查看:126
本文介绍了会发生什么事,当用户点击.NET程序集(EXE)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

考虑我们的.NET WinForms应用程序或控制台应用程序。 谁能告诉我会发生什么,一步一步,直到在WinForm或控制台应用程序启动。我想知道的内部 - 怎么样的EXE将与框架沟通,什么是CLR的作用,如果异常会发生什么,同时推出应用程序了itself.etc ...

Consider we have .NET Winforms application or Console Application. Can anyone tell me what will happen step-by-step until the WinForm or Console Application is launched. I would like know the internals - like how EXE will communicate with Framework, what is the role of CLR, what happens in case of exception while launching applicaiton itself.etc...

推荐答案

当你双击一个.NET的.exe程序集:

When you double click on a .net .exe assembly:

  • 在Windows的PE装载踢
  • 如果您在Windows> = Windows XP中,将检测到可执行文件可执行的托管,并转发在mscoree.dll中调用_CoreExeMain到.NET(_CoreDllMain如果双击点击一个管理.DLL) 。它可以使用该组件的配置文件,以了解要使用的运行时间。
  • 如果您使用的是Windows< Windows XP中,该.exe文件包含一个小型本土片code,将跳转到mscoree.dll中的_CoreExeMain或_CoreDllMain。
  • 然后mscoree.dll中初始化.NET运行时,根据全局配置,装配的配置文件,并没有什么。
  • 然后,如果它是一个.exe文件,将JIT编译的入口点方法,并开始执行它。

这篇关于会发生什么事,当用户点击.NET程序集(EXE)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆