Loupe

.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 :
choisir son output

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

Photo de profil

Ces billets pourraient aussi vous intéresser

Vous nous direz ?!

Commentaires

comments powered by Disqus