在Visual Studio中开发C#项目时,我有三种输出类型可选:控制台应用程序、Windows应用程序和类库。据我所知,DLL和EXE之间唯一的区别是EXE需要定义一个入口点,当文件双击时会调用该入口点。然而,当我启动从控制台应用程序构建的EXE时,会创建一个控制台窗口。所以显然除了CLR被启动并调用我的Main方法之外,还发生了其他事情。 是什么启动了控制台窗口? 当我启动从Windows应用程序构建的EXE时,是否还运行其他代码,或者只有我的主方法在运行?
IMAGE_SUBSYSTEM_WINDOWS_CUI
定义控制台应用程序,IMAGE_SUBSYSTEM_WINDOWS_GUI
定义Windows应用程序等。http://blogs.msdn.com/b/oldnewthing/archive/2009/01/01/9259142.aspx
与Siram的回答https://dev59.com/W4rda4cB1Zd3GeqPN4-e#30084790相同,但为了帮助您进行未来的搜索,这些是在谷歌上使用的关键词,以定位所提到的资源。"double click exe launches console"