Step 1: Create this MyProgram.cs file:
Code: Select all
using System;
using System.Windows.Forms;
namespace SampleApplication
{
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MyForm());
}
}
}
Code: Select all
using System;
using System.Windows.Forms;
namespace SampleApplication
{
public class MyForm : Form
{
private System.ComponentModel.IContainer components = null;
public MyForm()
{
InitializeComponent();
}
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Text = "MyForm";
}
}
}
Code: Select all
<Project DefaultTargets = "Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
<PropertyGroup>
<!-- Set the application name as a property -->
<appname>MyProject</appname>
<!-- Set the output folder as a property -->
<builtdir>Output</builtdir>
</PropertyGroup>
<ItemGroup>
<!-- Specify the inputs by type and file name -->
<CSFile Include = "MyForm.cs"/>
<CSFile Include = "MyProgram.cs"/>
</ItemGroup>
<Target Name = "Build">
<!-- Check whether an output folder exists and create
one if necessary -->
<MakeDir Directories = "$(builtdir)"
Condition = "!Exists('$(builtdir)')" />
<!-- Run the Visual C# compiler -->
<CSC Sources = "@(CSFile)"
DebugType = "full"
OutputAssembly = "$(BuiltDir)\$(appname).exe">
<Output TaskParameter = "OutputAssembly"
ItemName = "EXEFile" />
</CSC>
<!-- Log the file name of the output file -->
<Message Text="The output file is @(EXEFile)"/>
</Target>
<Target Name = "Clean">
<RemoveDir Directories="$(builtdir)" />
</Target>
</Project>
Step 5: Use the Workspace, Options menu and in the Project panel define the following command lines:
- Make Command Line: msbuild.exe MyProject.proj
- Rebuild All Command Line: msbuild.exe MyProject.proj /t:Clean;Build
- Clean Command Line: msbuild.exe MyProject.proj /t:Clean
For example running the Project Rebuild menu will create the Output\MyProject.exe file with the following output:
Code: Select all
---------------------------------------------------------------------------
Zeus for Windows Programmers Editor - Version 3.96t-beta6
Copyright (c) Xidicone P/L 1993-2009. All rights reserved.
---------------------------------------------------------------------------
--------------------Configuration: MyProject - Debug--------------------
Microsoft (R) Build Engine Version 2.0.50727.1433
[Microsoft .NET Framework, Version 2.0.50727.1433]
Copyright (C) Microsoft Corporation 2005. All rights reserved.
Build started 15/04/2009 14:26:21.
__________________________________________________
Project "C:\MyProject\MyProject.proj" (Clean;Build target(s)):
Target Clean:
Directory "Output" doesn't exist. Skipping.
Target Build:
Creating directory "Output".
d:\WINNT\Microsoft.NET\Framework\v2.0.50727\Csc.exe /out:Output\MyProject.exe MyForm.cs MyProgram.cs
The output file is Output\MyProject.exe
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:05.65
MSBuild Reference
MSBuild Task Reference
Cheers Jussi