Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

MSBuildContrib Build status

What is MSBuildContrib?

While MSBuild is a fairly complete platform, there are always tasks and tools that are available in other build systems (like NAnt) that haven't made their way in to MSBuild. This project attempts to solve that deficiency. The initial set of tasks and tools are rewritten versions of the equivalent NAnt or NAntContrib tasks and tools that are missing. These are not simply ports of the code but rather complete rewrites using newer language features and adhering to the MSBuild preferences for how tasks behave.

What tasks are available?

Full task documentation will be coming soon.

Task Summary Notes
Attrib Changes the file attributes of a file or set of files and directories.
CheckDiskspace Reports any local fixed disks that are less than the minimum available space. The default minimum space available is 3GB.
Checksum Calculates checksums for a set of files. Loosely based on Ant's Checksum task.
CodeStats Generates statistics from source code.
Concat A task that concatenates a set of files. Loosely based on Ant's Concat task.
CreateItemRegex Sets project properties based on the evaluatuion of a regular expression.
FxCop Analyzes managed code assemblies and reports information about the assemblies, such as possible design, localization, performance, and security improvements.
GacUtil Installs or uninstalls assemblies into the Global Assembly Cache (GAC) by using the gacutil SDK tool.
GetEnvironment Sets properties with system information.
Grep Searches files for a regular-expression and produces an XML report of the matches.
Move Moves a file or set of files to a new file or directory.
UpdateItemMetadata Adds or updates metadata to an item.

What is MSBuild?

The Microsoft Build Engine is a platform for building applications. This engine, which is also known as MSBuild, provides an XML schema for a project file that controls how the build platform processes and builds software. Visual Studio uses MSBuild, but it doesn't depend on Visual Studio. By invoking msbuild.exe on your project or solution file, you can orchestrate and build products in environments where Visual Studio isn't installed.

Visual Studio uses MSBuild to load and build managed projects. The project files in Visual Studio (.csproj,.vbproj, vcxproj, and others) contain MSBuild XML code that executes when you build a project by using the IDE. Visual Studio projects import all the necessary settings and build processes to do typical development work, but you can extend or modify them from within Visual Studio or by using an XML editor.

You can get more information about MSBuild from the Microsoft Developer Network.


If you don't see a task here, feel free to open an issue or fork this repository, add it, and then submit a pull request. More detailed instructions on how to contribute will be coming soon.

Bugs and feature requests

Have a bug or a feature request? Please open a new issue. Before opening any issue, please search for existing issues and read the Issue Guidelines, written by Nicolas Gallagher.


For transparency and insight into our release cycle, and for striving to maintain backward compatibility, MSBuildContrib will be maintained under the Semantic Versioning guidelines as much as possible.

Releases will be numbered with the following format:


And constructed with the following guidelines:

  • Breaking backward compatibility bumps the major (and resets the minor and patch)
  • New additions without breaking backward compatibility bumps the minor (and resets the patch)
  • Bug fixes and misc changes bumps the patch

For more information on SemVer, please visit


Scott Dorman

Copyright and license

Copyright 2013 Scott Dorman under the GPL V3 license.


A project for tasks and tools that aren't part of the main MSBuild release.







No releases published


No packages published