想象一下.NET应用程序在构建之后启动,无论是Console还是WinForm。除了/subsystem
,/out
之类的编译时标志,...操作系统(当前是Windows)还是.NET虚拟机(我不知道哪个碰巧遇到了运行应用程序,首先)决定运行哪个窗口系统以及当它想要运行所需系统时该做什么?
答案 0 :(得分:2)
我看到这个问题已经更新以反映FrédéricHamidi的这个评论解决方案,但是为了遵守Stack Overflow的Q& A格式,我承认这是社区Wiki标志集的答案,按照“ Question with no answers, but issue solved in the comments (or extended in chat)“。
有一面旗帜。在可执行文件本身中,PE头中的某个位置。该标志在构建时设置,并指示应用程序要在其下运行的子系统(GUI或控制台)。加载程序读取该标志并相应地设置控制台。这早于.NET - CLR在这里没有带来任何新的东西。