Update 2018: In .NET Core 3.0+, you will be able to set
<OutputType>WinExe</OutputType> inside of the csproj file.
Currently, this is not directly possible out of the box because Windows EXE files contain a flag indicating if it is a “console” or “GUI” application that Windows evaluates even before starting the application. However, this flag can be changed using
editbin.exe (ships with Visual Studio’ C++ build tools as far as I know).
Building on this, you could create a self-contained .NET Core application (removing the
"type": "platform" from the
project.json and adding a runtimes section) so your project output includes an actual
.exe file and add a post-build script that invokes
editbin.exe /subsystem:windows yourapp.exe.