- MSBuild
-
MSBuild is a Microsoft build platform typically used in conjunction with Visual Studio. MSBuild version 2.0 is part of .NET Framework 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 installed. MSBuild is available at no cost.
MSBuild acts on MSBuild project files which have a similar XML syntax to Apache Ant or NAnt. 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.
Contents
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 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)).
See also
References
- Kretzler, Brian (2011). MSBuild Trickery: 99 Ways to Bend the Build Engine to Your Will. K+7 RANCH PRESS. pp. 426. ISBN 978-0615509075.
- Hashimi, Sayed Ibrahim; Bartholomew, William. Inside the Microsoft Build Engine: Using MSBuild and Team Foundation Build. Microsoft Press. ISBN 978-0735626287.
- MSDN - The MSBuild Reference
- Team Foundation Build overview
- Popular MSBuild Blog
- Open Source MSBuild Community Tasks Project
- Inside MSBuild MSDN Article
- WiX Tricks-Automate Releases With MSBuild And Windows Installer XML
- MSBuild : Best Practices For Creating Reliable Builds, Part 1 (MSDN Magazine)
- MSBuild : Best Practices For Creating Reliable Builds, Part 2 (MSDN Magazine)
- MSBuild Sidekick - GUI editor and debugger for MSBuild scripts
- MSBuild Launch Pad - Windows Explorer extension to execute MSBuild scripts
- MSBuild Command Line Reference - parameters & switches
- Einfuehrung-in-Microsofts-Build-Management-Technik (German - heise developer)
- References for MSBuild tasks (most free available)
- MSBuildShellExtension - Windows Shell Extension to build any MSBuild file
External links
Categories:- Compiling tools
- Build automation
- Microsoft Visual Studio
Wikimedia Foundation. 2010.