.Net Core : lancer une application sans afficher la console
Lorsque l'on crée une application .Net Core, nous ne pouvons plus préciser l'output type comme dans un projet classique.
Or il peut être intéressant de créer des exécutables qui n'ouvrent pas une console à chaque lancement.
Choix de l'ouput type :
Utiliser l'outil editbin :
Pour pouvoir lancer votre application en "Windows application" nous allons utiliser un outil appelé "editbin" qui permet de changer l'entête d'un exécutable.
Pour récupérer l'exécutable editbin rien de plus simple, il est installé par défaut avec Visual Studio :
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
Note : editbin est utilisé dans le processus de build de vos applications par Visual Studio.
Appel de l'exécutable editbin avec comme premier paramètre l'exécutable à passer en Windows :
editbin.exe 'monexe.exe' /SUBSYSTEM:WINDOWS
Automatiser lors de la build le changement du type de projet :
Pour automatiser il suffit d'exécuter edit bin à chaque fin de compilations.
Sous Visual Studio 2015 il faudra ajouter noeud script ci-dessous dans le fichier projet.json :
"scripts": { "postcompile": [ "$(SolutionDir)/Tools/editbin.exe %compile:OutputFile% /SUBSYSTEM:WINDOWS" ] },
Sous Visual Studio 2017 il faudra ajouter noeud Target dans le fichiers csproj :
<Target Name="PostcompileScript" AfterTargets="Build"> <Exec Command="$(MSBuildProjectDirectory)/../Tools/editbin.exe $(TargetPath) /SUBSYSTEM:WINDOWS" /> </Target>
Happy coding
Pour aller plus loin :
Net core qu'est ce que c'est
ASP.Net core à la découverte des bases
Référence EDITBIN
Commentaires