#MSBuild Community Tasks
The MSBuild Community Tasks Project is an open source project for MSBuild tasks.
##Download
The latest build can be downloaded from the releases section. https://github.com/loresoft/msbuildtasks/releases
The MSBuild Community Tasks library is also available on nuget.org via package name MSBuildTasks
.
To install MSBuildTasks, run the following command in the Package Manager Console
PM> Install-Package MSBuildTasks
More information about NuGet package avaliable at https://nuget.org/packages/MSBuildTasks
##Development Builds
Development builds are available on the myget.org feed. A development build is promoted to the main NuGet feed when it's determined to be stable.
In your Package Manager settings add the following package source for development builds: http://www.myget.org/F/loresoft/
##Join Project
Please join the MSBuild Community Tasks Project and help contribute in building the tasks.
Google Group for MSBuild Community Tasks https://groups.google.com/d/forum/msbuildtasks
##Current Community Tasks
Task | Description |
---|---|
Add | Add numbers |
AddTnsName | Defines a database host within the Oracle TNSNAMES.ORA file. |
AppPoolController | Allows control for an application pool on a local or remote machine with IIS installed. The default is to control the application pool on the local machine. If connecting to a remote machine, you can specify the and for the task to run under. |
AppPoolCreate | Creates a new application pool on a local or remote machine with IIS installed. The default is to create the new application pool on the local machine. If connecting to a remote machine, you can specify the and for the task to run under. |
AppPoolDelete | Deletes an existing application pool on a local or remote machine with IIS installed. The default is to delete an existing application pool on the local machine. If connecting to a remote machine, you can specify the and for the task to run under. |
AssemblyInfo | Generates an AssemblyInfo files |
Attrib | Changes the attributes of files and/or directories |
Beep | A task to play the sound of a beep through the console speaker. |
BuildAssembler | BuildAssembler task for Sandcastle. |
ChmBuilder | ChmBuilder task for Sandcastle. |
ChmCompiler | Html Help 1x compiler task. |
Computer | Provides information about the build computer. |
DBCSFix | DBCSFix task for Sandcastle. |
DeleteTree | Delete a directory tree. This task supports wild card directory selection. |
Divide | Divide numbers |
EmbedNativeResource | A task for embedded native resource. |
ExecuteDDL | MSBuild task to execute DDL and SQL statements. |
FileUpdate | Replace text in file(s) using a Regular Expression. |
FtpCreateRemoteDirectory | Creates a full remote directory on the remote server if not exists using the File Transfer Protocol (FTP). This can be one directory or a full path to create. |
FtpDirectoryExists | Determ if a remote directory exists on a FTP server or not. |
FtpUpload | Uploads a group of files using File Transfer Protocol (FTP). |
FtpUploadDirectoryContent | Uploads a full directory content to a remote directory. |
FxCop | Uses FxCop to analyse managed code assemblies and reports on their design best-practice compliance. |
GacUtil | MSBuild task to install and uninstall assemblies into the GAC |
GetSolutionProjects | Retrieves the list of Projects contained within a Visual Studio Solution (.sln) file |
GitBranch | A task to get the name of the branch or tag of git repository |
GitClient | A task for Git commands. |
GitCommits | A task for git to retrieve the number of commits on a revision. |
GitDescribe | A task for git to get the most current tag, commit count since tag, and commit hash. |
GitPendingChanges | A task for git to detect if there are pending changes |
GitVersion | A task for git to get the current commit hash. |
HttpRequest | Makes an HTTP request, optionally validating the result and writing it to a file. |
HxCompiler | A Html Help 2.0 compiler task. |
ILMerge | A wrapper for the ILMerge tool. |
InnoSetup | MSBuild task to create installer with InnoSetup |
InstallAspNet | Installs and register script mappings for ASP.NET |
InstallAssembly | Installs assemblies. |
JSCompress | Compresses JavaScript source by removing comments and unnecessary whitespace. It typically reduces the size of the script by half, resulting in faster downloads and code that is harder to read. |
MRefBuilder | MRefBuilder task for Sandcastle. |
MV | Moves files on the filesystem to a new location. |
Sends an email message | |
Merge | Merge files into the destination file. |
Modulo | Performs the modulo operation on numbers. |
Multiple | Multiple numbers |
NDoc | Runs the NDoc application. |
NUnit | Run NUnit 2.4 on a group of assemblies. |
NuGetInstall | Installs a package using the specified sources. |
NuGetPack | Creates a NuGet package based on the specified nuspec or project file. |
NuGetPush | Pushes a package to the server and optionally publishes it. |
NuGetRestore | Downloads and unzips (restores) any packages missing from the packages folder. |
PdbStr | A task for the pdbstr from source server. |
Prompt | Displays a message on the console and waits for user input. |
RegexCompiler | Compiles regular expressions and saves them to disk in an assembly. |
RegexMatch | Task to filter an Input list with a Regex expression. Output list contains items from Input list that matched given expression |
RegexReplace | Task to replace portions of strings within the Input list Output list contains all the elements of the Input list after performing the Regex Replace. |
RegistryRead | Reads a value from the Registry |
RegistryWrite | Writes a value to the Registry |
RoboCopy | Task wrapping the Window Resource Kit Robocopy.exe command. |
Sandcastle | The Sandcastle task. |
Script | Executes code contained within the task. |
ServiceController | Task that can control a Windows service. |
ServiceQuery | Task that can determine the status of a specified service on a target server. |
Sleep | A task for sleeping for a specified period of time. |
Sound | A task to play a sound from a .wav file path or URL. |
SqlExecute | Executes a SQL command. |
SqlPubWiz | The Database Publishing Wizard enables the deployment of SQL Server databases (both schema and data) into a shared hosting environment. |
SrcTool | A task for the srctool from source server. |
Subtract | Subtract numbers |
SvnCheckout | Checkout a local working copy of a Subversion repository. |
SvnClient | Subversion client base class |
SvnCommit | Subversion Commit command |
SvnCopy | Copy a file or folder in Subversion |
SvnExport | Export a folder from a Subversion repository |
SvnInfo | Run the "svn info" command and parse the output |
SvnSourceIndex | A subversion source index task. |
SvnStatus | Subversion status command. |
SvnUpdate | Subversion Update command |
SvnVersion | Summarize the local revision(s) of a working copy. |
SymStore | Task that wraps the Symbol Server SymStore.exe application. |
TaskSchema | A Task that generates a XSD schema of the tasks in an assembly. |
TemplateFile | MSBuild task that replaces tokens in a template file and writes out a new file. |
TfsClient | A task for Team Foundation Server version control. |
TfsSourceIndex | Task to index pdb files and entries to retrieve source files from Team Foundation Server source control. |
Time | Gets the current date and time. |
UninstallAssembly | Uninstalls assemblies. |
Unzip | Unzip a file to a target directory. |
User | Provides information about the build user. |
Version | Generates version information based on various algorithms |
WebDirectoryCreate | Creates a new web directory on a local or remote machine with IIS installed. The default is to create the new web directory on the local machine. The physical path is required to already exist on the target machine. If connecting to a remote machine, you can specify the and for the task to run under. |
WebDirectoryDelete | Deletes a web directory on a local or remote machine with IIS installed. The default is to delete the web directory on the local machine. If connecting to a remote machine, you can specify the and for the task to run under. |
WebDirectoryScriptMap | Sets an application mapping for a filename extension on an existing web directory. |
WebDirectorySetting | Reads and modifies a web directory configuration setting. |
WebDownload | Downloads a resource with the specified URI to a local file. |
WebUpload | Upload a local file to a remote URI. |
XmlMassUpdate | Performs multiple updates on an XML file |
XmlQuery | Reads a value or values from lines of XML |
XmlRead | Reads a value from a XML document using a XPath. |
XmlUpdate | Updates a XML document using a XPath. |
XslTransform | XslTransform task for Sandcastle. |
Xslt | A task to merge and transform a set of xml files. |
Zip | Create 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"/>
Alternatively if you want to get started with the nuget packages please add the following.
<PropertyGroup>
<MSBuildCommunityTasksPath>$(SolutionDir)\.build</MSBuildCommunityTasksPath>
</PropertyGroup>
<Import Project="$(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.Targets" />
Copyright (c) 2012, LoreSoft All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- 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.
- Neither the name of LoreSoft nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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.