我试图为自己自动化一些任务,并编写了一些.NET Core 1.0控制台应用程序。其中一个是BrowserRouter-一个简单的应用程序,它基于URL模式确定当我单击HTTP(S)链接时打开哪个浏览器/浏览器配置文件。
效果很好,但是总是有控制台窗口出现,然后立即消失。
有没有办法静默运行.NET Core控制台应用程序(隐藏控制台窗口)?
我知道在完整的.NET Framework中,可以将输出类型更改为Windows应用程序,但是对于.NET Core,尚不可用(尚未?)。

最佳答案

更新2018 :在.NET Core 3.0+中,您将能够在csproj文件中设置<OutputType>WinExe</OutputType>
当前,这是不可能直接实现的,因为Windows EXE文件包含一个标志,指示它是Windows评估的“控制台”还是“GUI”应用程序,甚至在启动该应用程序之前也是如此。但是,可以使用editbin.exe更改此标志(据我所知,Visual Studio Studio C++生成工具附带了该标志)。
在此基础上,您可以创建一个自包含的.NET Core应用程序(从"type": "platform"中删除project.json并添加运行时部分),以便您的项目输出包括实际的.exe文件,并添加一个调用editbin.exe /subsystem:windows yourapp.exe的生成后脚本。

关于c# - 是否可以静默运行.NET Core控制台应用程序(隐藏控制台窗口)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38776695/

10-13 05:27
查看更多