MSBuild
Encyclopedia
MSBuild is a Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 build platform typically used in conjunction with Visual Studio
Microsoft Visual Studio
Microsoft Visual Studio is an integrated development environment from Microsoft. It is used to develop console and graphical user interface applications along with Windows Forms applications, web sites, web applications, and web services in both native code together with managed code for all...

. MSBuild version 2.0 is part of .NET Framework
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

 2.0 and works together with Visual Studio 2005. Version 3.5 of MSBuild, which is bundled together with .NET 3.5 (and Visual Studio 2008), allows .NET projects to be built for either 2.0, 3.0 or 3.5 .NET version support (also known as"multi-targeting").

It is possible to build Visual Studio projects and solutions without the Visual Studio IDE
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

 installed. MSBuild is available at no cost.

MSBuild acts on MSBuild project files which have a similar XML
Extensible Markup Language
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

 syntax to Apache Ant
Apache Ant
Apache Ant is a software tool for automating software build processes. It is similar to Make but is implemented using the Java language, requires the Java platform, and is best suited to building Java projects....

 or NAnt
NAnt
NAnt is a free and open source software tool for automating software build processes. It is similar to Apache Ant, but targeted at the .NET environment rather than Java...

. Even though the syntax is based upon well-defined XML schema, the fundamental structure and operation is comparable to the traditional Unix make utility: the user specifies what will be used (typically source code files) and what the result should be (typically an application), but the utility itself decides what to do and the order in which to do it.

NMAKE

MSBuild is a functional replacement for the nmake utility, the latter of which remains in use in projects that originated in older Visual Studio releases.

Target

The focus of the tool is the result Target specified when invoking MSBuild with the project file. Subsequent dependent Targets are executed before the requested Target. Each Target may be self contained with the necessary Tasks to complete itself. A Target is typically an action executed on a file, set of files or directory.

Task

A Task is a command which is executed in order to complete a Target. A Task is typically implemented in a .NET assembly as a class which inherits from the Task class or implements the ITask interface. Many basic tasks are being shipped as part of the .NET Framework, and community developed tasks are freely available.

Properties and Items

In addition MSBuild provides Properties and Items, which are conceptually equivalent to make's macros. Properties specify static values, whereas Items are usually used to define sets of files/folders on which to perform Tasks. Specifying files on Items is made easy by the support of wildcards.

Team Foundation Build

The Visual Studio Team System
Visual Studio Team System
Visual Studio Application Lifecycle Management is a collection of integrated software development tools developed by Microsoft. These tools include IDEs, source control, work items, collaboration, metrics, and reporting tools.-Platform:...

 also depends on MSBuild to perform the actual Team Builds via the Visual Studio Team Foundation Server. The builds are most likely not executed on the server itself, but remotely on one or more Build Servers with the necessary software installed (i.e. Team Foundation Server (Build)).
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK