Запретить отображение командного окна, когда NAnt компилирует окна формы приложения - PullRequest
0 голосов
/ 02 апреля 2010

Я занимался созданием маленьких приложений для форм Windows без Visual Studio.

Я создаю исходный код в Notepad ++ и компилирую с помощью файла сборки NAnt.

Когда я запускаю приложение, также отображается окно командной строки и окно приложения. Как я могу предотвратить появление окна команд?

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());
        }
    }   
}

Файл сборки

<?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>

1 Ответ

2 голосов
/ 02 апреля 2010

Хорошо, у меня это есть, мне нужно указать target = "winexe" вместо target = "exe"

...