The MSBuild Community Tasks Project

Mission

The MSBuild Community Tasks Project is an open source project for MSBuild tasks. The goal of the project is to provide a collection of open source tasks for MSBuild.

Join Project

Please join the MSBuild Community Tasks Project and help contribute in building the tasks. 

https://github.com/loresoft/msbuildtasks/

Current Community Tasks

Task Description
AppPoolController Allows control for an application pool on a local or remote machine with IIS installed.
AppPoolCreate Creates a new application pool on a local or remote machine.
AppPoolDelete Deletes an existing application pool on a local or remote machine.
AssemblyInfo Generates an AssemblyInfo file using the attributes given.
Attrib Changes the attributes of files and/or directories.
Beep Plays the sound of a beep through the console speaker.
Computer Provides information about the build computer.
ExecuteDDL Executes SqlServer batch scripts.
FileUpdate Replace text in file(s) using a Regular Expression.
FtpUpload Uploads a file or files using File Transfer Protocol (FTP).
FxCop Uses FxCop to analyze managed code assemblies and reports on their design best-practice compliance.
GetSolutionProjects Returns a list of projects within a solution.
InstallAspNet Installs and register script mappings for ASP.NET.
InstallAssembly Uses InstallUtil.exe to execute the Install method on Installer classes within assemblies.
JSCompress Compresses JavaScript source files by removing comments and unnecessary whitespace, which typically reduces the size by half and results in faster downloads and code that is harder to read.
Mail Sends an email message.
Math.Add Adds numbers.
Math.Divide Divides numbers.
Math.Modulo Performs the modulo operation on numbers.
Math.Multiple Multiplies numbers.
Math.Subtract Subtracts numbers.
Move Moves files on the filesystem to a new location.
NDoc Runs NDoc to create documentation.
NUnit Runs tests using the NUnit.
Oracle.AddTnsName Defines a database host within the Oracle TNSNAMES.ORA file.
Prompt Displays a message on the console and waits for user input.
RegexMatch Filters an item group with a regular expression.
RegexReplace Replaces strings within items from an item group with a regular expression.
RegistryRead Reads a value from the Registry.
RegistryWrite Writes a value to the Registry.
RoboCopy Executes the Resource Kit Robocopy.exe command.
Script Executes code contained within the task.
ServiceController Controls a Windows service.
ServiceQuery Determines the status of a service.
Sleep Sleeps for a specified period of time.
Sound Plays a sound from a .wav file path or URL.
SqlExecute Executes a SQL command.
SvnCheckout Checkout files from a Subversion repository.
SvnClient Executes the Subversion client command.
SvnCommit Commits files to a Subversion repository.
SvnCopy Copies a file or path within a Subversion repository.
SvnExport Exports files from a Subversion repository.
SvnInfo Gets information for a file or directory in a Subversion repository.
SvnUpdate Updates files from a Subversion repository.
SvnVersion Gets the Subversion revision number of a local copy.
TaskSchema Generates a XSD schema of the MSBuild tasks in an assembly.
TemplateFile Replaces tokens in a file.
TfsVersion Determines the changeset in a local Team Foundation Server workspace (In progress).
Time Gets the current date and time.
UninstallAssembly Uses InstallUtil.exe to execute the Uninstall method on Installer classes within assemblies.
Unzip Extracts a zip file to a target directory.
User Provides information about the build user.
Version Generates version information based on various algorithms.
VssAdd Adds files to a Visual SourceSafe database.
VssCheckin Checks in files to a Visual SourceSafe database.
VssCheckout Checks out files from a Visual SourceSafe database.
VssClean Removes Visual SourceSafe binding information and status files from a Visual Studio solution tree.
VssDiff Generates a diff between two versions of an item in a Visual SourceSafe database.
VssGet Gets the latest version of a file or project from a Visual SourceSafe database.
VssHistory Generates an XML file containing the history of an item in a Visual SourceSafe database between two dates or labels.
VssLabel Labels an item in a Visual SourceSafe database.
VssUndoCheckout Cancels a checkout of an item from a Visual SourceSafe database.
WebDirectoryCreate Creates a new web directory on a local or remote machine.
WebDirectoryDelete Deletes a web directory on a local or remote machine.
WebDirectoryScriptMap Sets an application mapping for a filename extension on an existing web directory.
WebDirectorySetting Reads or modifies a configuration setting on an existing web directory.
WebDownload Downloads a resource with the specified URI to a local file.
Xml.XmlMassUpdate Performs multiple updates on an XML file.
Xml.XmlQuery Reads a value or values from lines of XML.
XmlRead Reads a value from a XML document using a XPath.
XmlWrite Updates a XML document using a XPath.
Xslt Merges and transforms a set of xml files.
Zip Creates a zip file with the files specified.

Getting Started

In order to use the tasks in this project, you need to import the MSBuild.Community.Tasks.Targets files. If you installed the project with the msi installer, you can use the following.

<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>

Related resources

License

Copyright © 2005-2007 Paul Welter. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products
   derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.