2010-04-01 18 views
0

J'ai joué avec créer de petites applications de formes de fenêtres sans studio visuel.Fenêtre de commande d'empêchement montrant quand NAnt compilant des fenêtres forme l'application

Je crée ma source dans Notepad ++ et la compile avec un fichier de construction NAnt.

Lorsque j'exécute l'application, une fenêtre de commande est également affichée ainsi que la fenêtre de l'application. Comment puis-je empêcher l'affichage de la fenêtre de commande?

using System; 
using System.Drawing; 
using System.Windows.Forms; 
using System.Media; 
using System.IO; 

namespace mynamespace 
{ 
    class MyForm : Form 
    { 
     public Button btnPlay; 

     MyForm() 
     { 
      this.SuspendLayout(); 

      this.Text = "My Application"; 

      InitialiseForm();  

      this.ResumeLayout(false); 
     } 

     private void InitialiseForm() 
     { 
      btnPlay = new Button(); 
      btnPlay.Location = new System.Drawing.Point(30,40); 
      btnPlay.Text = "Play"; 
      btnPlay.Click += new System.EventHandler(btnPlay_Click); 

      this.Controls.Add(btnPlay); 
     } 

     protected void btnPlay_Click(object sender, EventArgs e) 
     { 
      string wav = "testing123.wav"; 
      Stream resourceStream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(wav); 
      SoundPlayer player = new SoundPlayer(resourceStream); 
      player.Play(); 
     } 

     public static void Main() 
     { 
      Application.Run(new MyForm()); 
     } 
    } 
} 

fichier Build

<?xml version="1.0"?> 
<project name="myform" default="build" basedir="."> 
    <description>My Form app</description> 
    <property name="debug" value="true" overwrite="false"/> 
    <target name="clean" description="Remove all generated files"> 
     <delete dir="build"/> 
    </target> 
    <target name="build" description="Compile the source" depends="clean"> 
     <mkdir dir="build"/> 
     <csc target="exe" output="build\MyForm.exe" debug="${debug}" verbose="true"> 
      <resources> 
       <include name="app\resources\*.wav" /> 
      </resources> 
      <sources> 
       <include name="app\MyForm.cs"/> 
      </sources> 
     </csc> 
    </target> 
</project> 

Répondre

2

Ok je l'ai, je dois préciser target = "winexe" au lieu de target = "exe"