Compare (Required: String1, String2, Comparison Optional: IgnoreCase Output: Result)
EndsWith (Required: String1, String2 Optional: IgnoreCase Output: Result)
Format (Required: String1, Strings Output: NewString)
GetLength (Required: OldString Output: NewString)
Insert (Required: OldString, String1, StartIndex Output: NewString)
PadLeft (Required: OldString, String1 (1 char) Optional: Count Output: NewString)
PadRight (Required: OldString, String1 (1 char) Optional: Count Output: NewString)
Remove (Required: OldString, StartIndex Optional: Count Output: NewString)
Replace (Required: OldString, OldValue, NewValue Output: NewString)
Split (Required: String1, String2 Optional: StartIndex Output: Strings, NewString)
StartsWith (Required: String1, String2 Optional: IgnoreCase Output: Result)
ToLower (Required: OldString Output: NewString)
ToUpper (Required: OldString Output: NewString)
Trim (Required: OldString Output: NewString)
Remote Execution Support: NA
Assembly: MSBuild.ExtensionPack (in MSBuild.ExtensionPack.dll) Version: 3.5.0.0 (3.5.4.0)
Examples
<Project ToolsVersion="3.5" DefaultTargets="Default" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <TPath>$(MSBuildProjectDirectory)\..\MSBuild.ExtensionPack.tasks</TPath> <TPath Condition="Exists('$(MSBuildProjectDirectory)\..\..\Common\MSBuild.ExtensionPack.tasks')">$(MSBuildProjectDirectory)\..\..\Common\MSBuild.ExtensionPack.tasks</TPath> </PropertyGroup> <Import Project="$(TPath)"/> <Target Name="Default"> <!-- Format a string --> <MSBuild.ExtensionPack.Framework.TextString TaskAction="Format" String1="{0}.{1}.{2}.{3}" Strings="3;5;4;0"> <Output TaskParameter="NewString" PropertyName="val"/> </MSBuild.ExtensionPack.Framework.TextString> <Message Text="Format Result: $(val)"/> <!-- Split a string --> <MSBuild.ExtensionPack.Framework.TextString TaskAction="Split" String1="Hello;how;are;you" String2=";"> <Output ItemName="out" TaskParameter="Strings"/> </MSBuild.ExtensionPack.Framework.TextString> <Message Text="The Result: %(Out.Identity)"/> <!-- Split another string --> <MSBuild.ExtensionPack.Framework.TextString TaskAction="Split" String1="HelloMIKEhowMIKEareMIKeyou" String2="MIKE"> <Output ItemName="out" TaskParameter="Strings"/> </MSBuild.ExtensionPack.Framework.TextString> <Message Text="The Result: %(Out.Identity)"/> <!-- Uppercase a string --> <MSBuild.ExtensionPack.Framework.TextString TaskAction="ToUpper" OldString="helLo"> <Output PropertyName="out" TaskParameter="NewString"/> </MSBuild.ExtensionPack.Framework.TextString> <Message Text="The Result: $(out)"/> <!-- Lowercase a string --> <MSBuild.ExtensionPack.Framework.TextString TaskAction="ToLower" OldString="HellO"> <Output PropertyName="out" TaskParameter="NewString"/> </MSBuild.ExtensionPack.Framework.TextString> <Message Text="The Result: $(out)"/> <!-- PadLeft a string --> <MSBuild.ExtensionPack.Framework.TextString TaskAction="PadLeft" OldString="Hello" String1="A" Count="10"> <Output PropertyName="out" TaskParameter="NewString"/> </MSBuild.ExtensionPack.Framework.TextString> <Message Text="The Result: $(out)"/> <!-- PadRight a string --> <MSBuild.ExtensionPack.Framework.TextString TaskAction="PadRight" OldString="Hello" String1="A" Count="10"> <Output PropertyName="out" TaskParameter="NewString"/> </MSBuild.ExtensionPack.Framework.TextString> <Message Text="The Result: $(out)"/> <!-- Check whether a string starts with another string --> <MSBuild.ExtensionPack.Framework.TextString TaskAction="StartsWith" String1="Hello" String2="He"> <Output PropertyName="TheResult" TaskParameter="Result"/> </MSBuild.ExtensionPack.Framework.TextString> <Message Text="The Result: $(TheResult)"/> <!-- Check whether a string ends with another string --> <MSBuild.ExtensionPack.Framework.TextString TaskAction="EndsWith" String1="Hello" String2="Lo" IgnoreCase="false"> <Output PropertyName="TheResult" TaskParameter="Result"/> </MSBuild.ExtensionPack.Framework.TextString> <Message Text="The Result: $(TheResult)"/> <!-- Compare two strings to see whether they are equal --> <MSBuild.ExtensionPack.Framework.TextString TaskAction="Compare" String1="Hello" String2="Hello" Comparison="equals"> <Output PropertyName="TheResult" TaskParameter="Result"/> </MSBuild.ExtensionPack.Framework.TextString> <Message Text="The Result: $(TheResult)"/> <!-- Compare two strings to see whether they are equal --> <MSBuild.ExtensionPack.Framework.TextString TaskAction="Compare" String1="Hello" String2="Hallo" Comparison="equals"> <Output PropertyName="TheResult" TaskParameter="Result"/> </MSBuild.ExtensionPack.Framework.TextString> <Message Text="The Result: $(TheResult)"/> <!-- See whether one string is greater than another --> <MSBuild.ExtensionPack.Framework.TextString TaskAction="Compare" String1="Hello" String2="Hallo" Comparison="greaterthan"> <Output PropertyName="TheResult" TaskParameter="Result"/> </MSBuild.ExtensionPack.Framework.TextString> <Message Text="The Result: $(TheResult)"/> <!-- See whether one string is less than another --> <MSBuild.ExtensionPack.Framework.TextString TaskAction="Compare" String1="Hello" String2="Hallo" Comparison="lessthan"> <Output PropertyName="TheResult" TaskParameter="Result"/> </MSBuild.ExtensionPack.Framework.TextString> <Message Text="The Result: $(TheResult)"/> <!-- See whether a string contains another string --> <MSBuild.ExtensionPack.Framework.TextString TaskAction="Compare" String1="Hello" String2="llo" Comparison="contains"> <Output PropertyName="TheResult" TaskParameter="Result"/> </MSBuild.ExtensionPack.Framework.TextString> <Message Text="The Result: $(TheResult)"/> <!-- Replace the contents off a string --> <MSBuild.ExtensionPack.Framework.TextString TaskAction="Replace" OldString="Hello" OldValue="llo" NewValue="XYZ"> <Output PropertyName="out" TaskParameter="NewString"/> </MSBuild.ExtensionPack.Framework.TextString> <Message Text="The Result: $(out)"/> </Target> </Project>
Inheritance Hierarchy
Microsoft.Build.Utilities..::.Task
MSBuild.ExtensionPack..::.BaseTask
MSBuild.ExtensionPack.Framework..::.TextString