Bläddra i källkod

Merge remote-tracking branch 'refs/remotes/origin/restructure'

drieseng 9 år sedan
förälder
incheckning
8dd1f4e8d7
100 ändrade filer med 18092 tillägg och 23923 borttagningar
  1. 17 0
      .gitignore
  2. 0 543
      BuildProcessTemplates/DefaultTemplate.11.1.xaml
  3. 0 0
      BuildProcessTemplates/LabDefaultTemplate.11.xaml
  4. 0 76
      BuildProcessTemplates/UpgradeTemplate.xaml
  5. 0 3
      Renci.SshClient/..svnbridge/.svnbridge
  6. 0 1
      Renci.SshClient/..svnbridge/SSH.NET.nupkg
  7. 0 18
      Renci.SshClient/Renci.SshClient.Tests/ConnectionData.cs
  8. 0 11
      Renci.SshClient/Renci.SshClient.Tests/SftpClientTests/SftpClientTest.cs
  9. 0 244
      Renci.SshClient/Renci.SshClient.Tests/ShellTest.cs
  10. 0 11
      Renci.SshClient/Renci.SshClient/ChannelOpeningEventArgs.cs
  11. 0 219
      Renci.SshClient/Renci.SshClient/Channels/ChannelSessionExec.cs
  12. 0 580
      Renci.SshClient/Renci.SshClient/Channels/ChannelSessionSftp.cs
  13. 0 99
      Renci.SshClient/Renci.SshClient/Channels/ChannelSessionShell.cs
  14. 0 158
      Renci.SshClient/Renci.SshClient/Common/BlockingStack.cs
  15. 0 54
      Renci.SshClient/Renci.SshClient/Common/ConnectingEventArgs.cs
  16. 0 14
      Renci.SshClient/Renci.SshClient/Common/DataReceivedEventArgs.cs
  17. 0 29
      Renci.SshClient/Renci.SshClient/Common/FtpFileInfo.cs
  18. 0 15
      Renci.SshClient/Renci.SshClient/Common/MessageReceivedEventArgs.cs
  19. 0 96
      Renci.SshClient/Renci.SshClient/Connection.cs
  20. 0 96
      Renci.SshClient/Renci.SshClient/Documentation/Content/Extensibility.AddAuthenticationMethod.aml
  21. 0 96
      Renci.SshClient/Renci.SshClient/Documentation/Content/Extensibility.AddEncryption.aml
  22. 0 96
      Renci.SshClient/Renci.SshClient/Documentation/Content/Extensibility.AddHashAlgorithm.aml
  23. 0 21
      Renci.SshClient/Renci.SshClient/Documentation/Content/Extensibility.aml
  24. 0 50
      Renci.SshClient/Renci.SshClient/Documentation/Content/HowTo.Sftp.aml
  25. 0 68
      Renci.SshClient/Renci.SshClient/Documentation/Content/HowTo.SshCommand.Run.aml
  26. 0 50
      Renci.SshClient/Renci.SshClient/Documentation/Content/HowTo.SshCommand.aml
  27. 0 50
      Renci.SshClient/Renci.SshClient/Documentation/Content/HowTo.aml
  28. 0 48
      Renci.SshClient/Renci.SshClient/Documentation/Content/Introduction.aml
  29. 0 10
      Renci.SshClient/Renci.SshClient/Messages/Authentication/Methods.cs
  30. 0 33
      Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelOpenDirectTcpIPMessage.cs
  31. 0 30
      Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestEnvironmentVariableMessage.cs
  32. 0 26
      Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestExecMessage.cs
  33. 0 38
      Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestExitSignalMessage.cs
  34. 0 23
      Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestExitStatusMessage.cs
  35. 0 44
      Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestPseudoTerminalMessage.cs
  36. 0 19
      Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestShellMessage.cs
  37. 0 26
      Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestSignalMessage.cs
  38. 0 26
      Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestSubsystemMessage.cs
  39. 0 38
      Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestWindowChangeMessage.cs
  40. 0 38
      Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestX11ForwardingMessage.cs
  41. 0 26
      Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestXonXoffMessage.cs
  42. 0 50
      Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequestNames.cs
  43. 0 161
      Renci.SshClient/Renci.SshClient/Messages/MessageTypes.cs
  44. 0 9
      Renci.SshClient/Renci.SshClient/RequestSuccessEventArgs.cs
  45. 0 124
      Renci.SshClient/Renci.SshClient/Security/CipherAES128.cs
  46. 0 8
      Renci.SshClient/Renci.SshClient/Security/KeyExchangeCompletedEventArgs.cs
  47. 0 14
      Renci.SshClient/Renci.SshClient/Security/KeyExchangeFailedEventArgs.cs
  48. 0 15
      Renci.SshClient/Renci.SshClient/Security/KeyExchangeSendMessageEventArgs.cs
  49. 0 39
      Renci.SshClient/Renci.SshClient/Security/PrivateKey.cs
  50. 0 192
      Renci.SshClient/Renci.SshClient/Security/PrivateKeyDsa.cs
  51. 0 197
      Renci.SshClient/Renci.SshClient/Security/PrivateKeyRsa.cs
  52. 0 16
      Renci.SshClient/Renci.SshClient/Security/Signature.cs
  53. 0 91
      Renci.SshClient/Renci.SshClient/Security/SignatureDss.cs
  54. 0 81
      Renci.SshClient/Renci.SshClient/Security/SignatureRsa.cs
  55. 0 94
      Renci.SshClient/Renci.SshClient/Security/UserAuthentication.cs
  56. 0 18
      Renci.SshClient/Renci.SshClient/Security/UserAuthenticationHost.cs
  57. 0 127
      Renci.SshClient/Renci.SshClient/Security/UserAuthenticationKeyboardInteractive.cs
  58. 0 82
      Renci.SshClient/Renci.SshClient/Security/UserAuthenticationNone.cs
  59. 0 128
      Renci.SshClient/Renci.SshClient/Security/UserAuthenticationPassword.cs
  60. 0 177
      Renci.SshClient/Renci.SshClient/Security/UserAuthenticationPublicKey.cs
  61. 0 19
      Renci.SshClient/Renci.SshClient/Services/ConnectionService.cs
  62. 0 22
      Renci.SshClient/Renci.SshClient/Services/Service.cs
  63. 0 155
      Renci.SshClient/Renci.SshClient/Services/UserAuthenticationService.cs
  64. 0 72
      Renci.SshClient/Renci.SshClient/SessionInfo.cs
  65. 0 199
      Renci.SshClient/Renci.SshClient/SessionSSHv2.cs
  66. 0 69
      Renci.SshClient/Renci.SshClient/Settings.cs
  67. 0 273
      Renci.SshClient/Renci.SshClient/Sftp.cs
  68. 0 35
      Renci.SshClient/Renci.SshClient/Sftp/FileStatusCommand.cs
  69. 0 29
      Renci.SshClient/Renci.SshClient/Sftp/Messages/FSetStat.cs
  70. 0 7
      Renci.SshClient/Renci.SshClient/Sftp/SftpFileAttributes.cs
  71. 0 58
      Renci.SshClient/Renci.SshClient/SftpAsyncResult.cs
  72. 0 69
      Renci.SshClient/Renci.SshClient/SshBase.cs
  73. 0 20
      Renci.SshClient/Renci.SshClient/UserAuthentication.cs
  74. 0 10
      Renci.SshClient/Renci.SshNet.NET35/Renci.SshNet.NET35.csproj.vspscc
  75. 0 10
      Renci.SshClient/Renci.SshNet.Silverlight/Renci.SshNet.Silverlight.csproj.vspscc
  76. 0 10
      Renci.SshClient/Renci.SshNet.Tests.NET35/Renci.SshNet.Tests.NET35.csproj.vspscc
  77. 0 10
      Renci.SshClient/Renci.SshNet.Tests/Renci.SshNet.Tests.csproj.vspscc
  78. 0 10
      Renci.SshClient/Renci.SshNet.WindowsPhone/Renci.SshNet.WindowsPhone.csproj.vspscc
  79. 0 10
      Renci.SshClient/Renci.SshNet.WindowsPhone8/Renci.SshNet.WindowsPhone8.csproj.vspscc
  80. 0 10
      Renci.SshClient/Renci.SshNet.vssscc
  81. 0 10
      Renci.SshClient/Renci.SshNet/Renci.SshNet.csproj.vspscc
  82. 33 33
      build/build.cmd
  83. 74 74
      build/build.proj
  84. 151 151
      build/msbuild/MSBuild.Community.Tasks.Targets
  85. 0 0
      build/msbuild/MSBuild.Community.Tasks.dll
  86. 0 0
      build/msbuild/MSBuild.Community.Tasks.pdb
  87. 10846 10846
      build/msbuild/MSBuild.Community.Tasks.xml
  88. 6786 6786
      build/msbuild/MSBuild.Community.Tasks.xsd
  89. 105 105
      build/nuget/SSH.NET.nuspec
  90. 0 0
      build/nuget/nuget.exe
  91. 75 75
      build/sandcastle/SSH.NET.shfbproj
  92. 5 0
      src/.nuget/NuGet.Config
  93. 0 0
      src/References/X.690-0207.pdf
  94. 0 0
      src/References/X.690-0207.txt
  95. 0 0
      src/Renci.SshNet.NET35/Channels/ChannelDirectTcpip.NET35.cs
  96. 0 0
      src/Renci.SshNet.NET35/Common/Extensions.NET35.cs
  97. 0 0
      src/Renci.SshNet.NET35/ForwardedPortDynamic.NET35.cs
  98. 0 0
      src/Renci.SshNet.NET35/ForwardedPortLocal.NET35.cs
  99. 0 0
      src/Renci.SshNet.NET35/ForwardedPortRemote.NET35.cs
  100. 0 0
      src/Renci.SshNet.NET35/KeyboardInteractiveAuthenticationMethod.NET35.cs

+ 17 - 0
.gitignore

@@ -0,0 +1,17 @@
+# Visual Studio build output
+src/**/bin/**
+src/**/obj/**
+
+# MSTest test Results
+src/TestResults/
+
+# User-specific files 
+*.suo
+*.user
+
+# NuGet packages
+packages/
+
+# Visual Studio 2015 cache/options directory 
+src/.vs/
+

+ 0 - 543
BuildProcessTemplates/DefaultTemplate.11.1.xaml

@@ -1,543 +0,0 @@
-<Activity mc:Ignorable="sad" x:Class="TfsBuild.Process" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mt="clr-namespace:Microsoft.TeamFoundation;assembly=Microsoft.TeamFoundation.Common" xmlns:mtbc="clr-namespace:Microsoft.TeamFoundation.Build.Client;assembly=Microsoft.TeamFoundation.Build.Client" xmlns:mtbw="clr-namespace:Microsoft.TeamFoundation.Build.Workflow;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mtbwa="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Activities;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mtbwt="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Tracking;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mttbb="clr-namespace:Microsoft.TeamFoundation.TestImpact.BuildIntegration.BuildActivities;assembly=Microsoft.TeamFoundation.TestImpact.BuildIntegration" xmlns:mtvc="clr-namespace:Microsoft.TeamFoundation.VersionControl.Client;assembly=Microsoft.TeamFoundation.VersionControl.Client" xmlns:mtvco="clr-namespace:Microsoft.TeamFoundation.VersionControl.Common;assembly=Microsoft.TeamFoundation.VersionControl.Common" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:sad="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation" xmlns:sad1="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib" xmlns:sl="clr-namespace:System.Linq;assembly=System.Core" xmlns:this="clr-namespace:TfsBuild;" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
-  <x:Members>
-    <x:Property Name="BuildSettings" Type="InArgument(mtbwa:BuildSettings)" />
-    <x:Property Name="TestSpecs" Type="InArgument(mtbwa:TestSpecList)" />
-    <x:Property Name="BuildNumberFormat" Type="InArgument(x:String)" />
-    <x:Property Name="SolutionSpecificBuildOutputs" Type="InArgument(x:Boolean)" />
-    <x:Property Name="CleanWorkspace" Type="InArgument(mtbwa:CleanWorkspaceOption)" />
-    <x:Property Name="RunCodeAnalysis" Type="InArgument(mtbwa:CodeAnalysisOption)" />
-    <x:Property Name="SourceAndSymbolServerSettings" Type="InArgument(mtbwa:SourceAndSymbolServerSettings)" />
-    <x:Property Name="AgentSettings" Type="InArgument(mtbwa:AgentSettings)" />
-    <x:Property Name="AssociateChangesetsAndWorkItems" Type="InArgument(x:Boolean)" />
-    <x:Property Name="CreateWorkItem" Type="InArgument(x:Boolean)" />
-    <x:Property Name="MSBuildArguments" Type="InArgument(x:String)" />
-    <x:Property Name="MSBuildPlatform" Type="InArgument(mtbwa:ToolPlatform)" />
-    <x:Property Name="MSBuildMultiProc" Type="InArgument(x:Boolean)" />
-    <x:Property Name="PerformTestImpactAnalysis" Type="InArgument(x:Boolean)" />
-    <x:Property Name="CreateLabel" Type="InArgument(x:Boolean)" />
-    <x:Property Name="DisableTests" Type="InArgument(x:Boolean)" />
-    <x:Property Name="GetVersion" Type="InArgument(x:String)" />
-    <x:Property Name="PrivateDropLocation" Type="InArgument(x:String)" />
-    <x:Property Name="Verbosity" Type="InArgument(mtbw:BuildVerbosity)" />
-    <x:Property Name="Metadata" Type="mtbw:ProcessParameterMetadataCollection" />
-    <x:Property Name="SupportedReasons" Type="mtbc:BuildReason" />
-    <x:Property Name="BuildProcessVersion" Type="x:String" />
-  </x:Members>
-  <this:Process.BuildSettings>[New Microsoft.TeamFoundation.Build.Workflow.Activities.BuildSettings()]</this:Process.BuildSettings>
-  <this:Process.DisableTests>[False]</this:Process.DisableTests>
-  <this:Process.TestSpecs>[New Microsoft.TeamFoundation.Build.Workflow.Activities.TestSpecList(New Microsoft.TeamFoundation.Build.Workflow.Activities.AgileTestPlatformSpec("**\*test*.dll"))]</this:Process.TestSpecs>
-  <this:Process.BuildNumberFormat>["$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)"]</this:Process.BuildNumberFormat>
-  <this:Process.SolutionSpecificBuildOutputs>[False]</this:Process.SolutionSpecificBuildOutputs>
-  <this:Process.AssociateChangesetsAndWorkItems>[True]</this:Process.AssociateChangesetsAndWorkItems>
-  <this:Process.CreateWorkItem>[True]</this:Process.CreateWorkItem>
-  <this:Process.CleanWorkspace>[Microsoft.TeamFoundation.Build.Workflow.Activities.CleanWorkspaceOption.All]</this:Process.CleanWorkspace>
-  <this:Process.MSBuildArguments>
-    <InArgument x:TypeArguments="x:String" />
-  </this:Process.MSBuildArguments>
-  <this:Process.RunCodeAnalysis>[Microsoft.TeamFoundation.Build.Workflow.Activities.CodeAnalysisOption.AsConfigured]</this:Process.RunCodeAnalysis>
-  <this:Process.MSBuildMultiProc>[True]</this:Process.MSBuildMultiProc>
-  <this:Process.MSBuildPlatform>[Microsoft.TeamFoundation.Build.Workflow.Activities.ToolPlatform.Auto]</this:Process.MSBuildPlatform>
-  <this:Process.PerformTestImpactAnalysis>[True]</this:Process.PerformTestImpactAnalysis>
-  <this:Process.SourceAndSymbolServerSettings>[New Microsoft.TeamFoundation.Build.Workflow.Activities.SourceAndSymbolServerSettings(True, Nothing)]</this:Process.SourceAndSymbolServerSettings>
-  <this:Process.CreateLabel>[True]</this:Process.CreateLabel>
-  <this:Process.GetVersion>
-    <InArgument x:TypeArguments="x:String" />
-  </this:Process.GetVersion>
-  <this:Process.AgentSettings>[New Microsoft.TeamFoundation.Build.Workflow.Activities.AgentSettings() With {.MaxWaitTime = New System.TimeSpan(4, 0, 0), .MaxExecutionTime = New System.TimeSpan(0, 0, 0), .TagComparison = Microsoft.TeamFoundation.Build.Workflow.Activities.TagComparison.MatchExactly }]</this:Process.AgentSettings>
-  <this:Process.Verbosity>[Microsoft.TeamFoundation.Build.Workflow.BuildVerbosity.Normal]</this:Process.Verbosity>
-  <this:Process.Metadata>
-    <mtbw:ProcessParameterMetadataCollection>
-      <mtbw:ProcessParameterMetadata BrowsableWhen="EditingDefinition" Category="#300 Advanced" DisplayName="MSBuild Multi-Proc" Description="Enable MSBuid Multi-proc to build your solutions' projects in parallel, when possible, using all available processors on the build server." ParameterName="MSBuildMultiProc" />
-      <mtbw:ProcessParameterMetadata BrowsableWhen="EditingDefinition" Category="#300 Advanced" DisplayName="Solution Specific Build Outputs" Description="True will put build outputs into folders based on the solution name. False will put all build outputs into the same folder." ParameterName="SolutionSpecificBuildOutputs" />
-    </mtbw:ProcessParameterMetadataCollection>
-  </this:Process.Metadata>
-  <this:Process.SupportedReasons>All</this:Process.SupportedReasons>
-  <this:Process.BuildProcessVersion>11.0</this:Process.BuildProcessVersion>  
-  <mva:VisualBasic.Settings>Assembly references and imported namespaces serialized as XML namespaces</mva:VisualBasic.Settings>
-  <Sequence mtbwt:BuildTrackingParticipant.Importance="None">
-    <Sequence.Variables>
-      <Variable x:TypeArguments="mtbc:IBuildDetail" Name="BuildDetail" />
-      <Variable x:TypeArguments="x:String"  Name="DropLocation" />
-    </Sequence.Variables>
-    <mtbwa:GetBuildDetail DisplayName="Get the Build" Result="[BuildDetail]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-    <Sequence DisplayName="Update Drop Location" mtbwt:BuildTrackingParticipant.Importance="Low">
-      <mtbwa:InvokeForReason DisplayName="Update Build Number for Triggered Builds" Reason="Triggered">
-        <mtbwa:UpdateBuildNumber BuildNumberFormat="[BuildNumberFormat]" DisplayName="Update Build Number" />
-      </mtbwa:InvokeForReason>
-      <If Condition="[(Not String.IsNullOrEmpty(BuildDetail.DropLocationRoot)) AndAlso (BuildDetail.Reason And Microsoft.TeamFoundation.Build.Client.BuildReason.Triggered) = BuildDetail.Reason]" DisplayName="If Build Reason is Triggered" mtbwt:BuildTrackingParticipant.Importance="Low">
-        <If.Then>
-          <Sequence mtbwt:BuildTrackingParticipant.Importance="None">
-            <Assign x:TypeArguments="x:String" mtbwt:BuildTrackingParticipant.Importance="None" Value="[BuildDropProvider.CombinePaths(BuildDetail.DropLocationRoot, BuildDetail.BuildDefinition.Name, BuildDetail.BuildNumber)]" To="[DropLocation]" />
-            <mtbwa:SetBuildProperties DisplayName="Set Drop Location" DropLocation="[DropLocation]" PropertiesToSet="DropLocation" mtbwt:BuildTrackingParticipant.Importance="Low" />
-          </Sequence>
-        </If.Then>
-      </If>
-      <If Condition="[(Not String.IsNullOrEmpty(PrivateDropLocation)) AndAlso BuildDetail.Reason = Microsoft.TeamFoundation.Build.Client.BuildReason.ValidateShelveset]" DisplayName="If Build Reason is ValidateShelveset" mtbwt:BuildTrackingParticipant.Importance="Low">
-        <If.Then>
-          <Sequence mtbwt:BuildTrackingParticipant.Importance="None">
-            <Assign x:TypeArguments="x:String" Value="[BuildDropProvider.CombinePaths(PrivateDropLocation, BuildDetail.BuildDefinition.Name, BuildDetail.BuildNumber)]" To="[DropLocation]" mtbwt:BuildTrackingParticipant.Importance="None" />
-            <mtbwa:SetBuildProperties DisplayName="Set Drop Location for Private Build" DropLocation="[DropLocation]" PropertiesToSet="DropLocation" mtbwt:BuildTrackingParticipant.Importance="Low" />
-          </Sequence>
-        </If.Then>
-      </If>
-    </Sequence>
-    <mtbwa:AgentScope DisplayName="Run On Agent" MaxExecutionTime="[AgentSettings.MaxExecutionTime]" MaxWaitTime="[AgentSettings.MaxWaitTime]" ReservationSpec="[AgentSettings.GetAgentReservationSpec()]">
-      <mtbwa:AgentScope.Variables>
-        <Variable x:TypeArguments="mtbc:IBuildAgent" Name="BuildAgent" />
-        <Variable x:TypeArguments="mtvc:Workspace" Name="Workspace" />
-        <Variable x:TypeArguments="x:String" Name="BuildDirectory" />
-        <Variable x:TypeArguments="x:String" Default="[BuildDetail.BuildNumber]" Name="LabelName" />
-        <Variable x:TypeArguments="x:String" Name="WorkspaceName" />
-        <Variable x:TypeArguments="x:String" Name="SourcesDirectory" />
-        <Variable x:TypeArguments="x:String" Name="BinariesDirectory" />
-        <Variable x:TypeArguments="x:String" Name="TestResultsDirectory" />
-      </mtbwa:AgentScope.Variables>
-      <Sequence DisplayName="Initialize Variables" mtbwt:BuildTrackingParticipant.Importance="Low">
-        <mtbwa:GetBuildAgent DisplayName="Get the Agent" Result="[BuildAgent]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-        <mtbwa:GetBuildDirectory DisplayName="Get the Build Directory" Result="[BuildDirectory]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-        <Assign x:TypeArguments="x:String" DisplayName="Initialize Workspace Name" To="[WorkspaceName]" Value="[String.Format(&quot;{0}_{1}_{2}&quot;, BuildDetail.BuildDefinition.Id, Microsoft.TeamFoundation.LinkingUtilities.DecodeUri(BuildAgent.Uri.AbsoluteUri).ToolSpecificId, BuildAgent.ServiceHost.Name)]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-        <Assign x:TypeArguments="x:String" DisplayName="Initialize Sources Directory" To="[SourcesDirectory]" Value="[String.Format(&quot;{0}\Sources&quot;, BuildDirectory)]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-        <Assign x:TypeArguments="x:String" DisplayName="Initialize Binaries Directory" To="[BinariesDirectory]" Value="[String.Format(&quot;{0}\Binaries&quot;, BuildDirectory)]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-        <Assign x:TypeArguments="x:String" DisplayName="Initialize TestResults Directory" To="[TestResultsDirectory]" Value="[String.Format(&quot;{0}\TestResults&quot;, BuildDirectory)]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-        <If Condition="[Not BuildSettings.HasPlatformConfigurations]" DisplayName="If Not BuildSettings.HasPlatformConfigurations" mtbwt:BuildTrackingParticipant.Importance="Low">
-          <If.Then>
-            <AddToCollection x:TypeArguments="mtbwa:PlatformConfiguration" DisplayName="Use Default Platform Configuration" Collection="[BuildSettings.PlatformConfigurations]" Item="[Microsoft.TeamFoundation.Build.Workflow.Activities.PlatformConfiguration.Default]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-          </If.Then>
-        </If>
-        <If Condition="[WorkspaceName.Length &gt; Microsoft.TeamFoundation.VersionControl.Common.RepositoryConstants.MaxWorkspaceNameSize]" DisplayName="If WorkspaceName &gt; MaxSize" mtbwt:BuildTrackingParticipant.Importance="Low">
-          <If.Then>
-            <Sequence mtbwt:BuildTrackingParticipant.Importance="None">
-              <mtbwa:WriteBuildWarning DisplayName="Write Workspace Size Warning" Message="[String.Format(&quot;The workspace name '{0}' exceeds the maximum allowed limit of '{1}' characters. Truncating it to match the maximum limit.&quot;, WorkspaceName, Microsoft.TeamFoundation.VersionControl.Common.RepositoryConstants.MaxWorkspaceNameSize)]" />
-              <Assign x:TypeArguments="x:String" DisplayName="Truncate WorkspaceName to MaxSize" To="[WorkspaceName]" Value="[WorkspaceName.Substring(0, Microsoft.TeamFoundation.VersionControl.Common.RepositoryConstants.MaxWorkspaceNameSize).TrimEnd()]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-            </Sequence>
-          </If.Then>
-        </If>
-      </Sequence>
-      <Sequence DisplayName="Initialize Workspace" mtbwt:BuildTrackingParticipant.Importance="Low">
-        <mtbwa:DeleteDirectory Directory="[TestResultsDirectory]" DisplayName="Delete Test Results Directory" Recursive="[True]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-        <If Condition="[Not CleanWorkspace = Microsoft.TeamFoundation.Build.Workflow.Activities.CleanWorkspaceOption.None]" DisplayName="If Not CleanWorkspace = CleanWorkspaceOption.None" mtbwt:BuildTrackingParticipant.Importance="Low">
-          <If.Then>
-            <mtbwa:DeleteDirectory Directory="[BinariesDirectory]" DisplayName="Delete Binaries Directory" mtbwt:BuildTrackingParticipant.Importance="Low" />
-          </If.Then>
-        </If>
-        <If Condition="[CleanWorkspace = Microsoft.TeamFoundation.Build.Workflow.Activities.CleanWorkspaceOption.All]" DisplayName="If CleanWorkspace = CleanWorkspaceOption.All" mtbwt:BuildTrackingParticipant.Importance="Low">
-          <If.Then>
-            <Sequence DisplayName="Delete Workspace and Sources Directory" mtbwt:BuildTrackingParticipant.Importance="Low">
-              <mtbwa:DeleteWorkspace DeleteLocalItems="[True]" DisplayName="Delete Workspace" Name="[WorkspaceName]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-              <mtbwa:DeleteDirectory Directory="[SourcesDirectory]" DisplayName="Delete Sources Directory" mtbwt:BuildTrackingParticipant.Importance="Low" />
-            </Sequence>
-          </If.Then>
-        </If>
-        <mtbwa:CreateWorkspace BuildDirectory="[BuildDirectory]" Comment="[&quot;Workspace Created by Team Build&quot;]" DisplayName="Create Workspace" Name="[WorkspaceName]" Result="[Workspace]" SourcesDirectory="[SourcesDirectory]" />
-        <If Condition="[CleanWorkspace = Microsoft.TeamFoundation.Build.Workflow.Activities.CleanWorkspaceOption.Outputs]" DisplayName="If CleanWorkspace = CleanWorkspaceOption.Outputs" mtbwt:BuildTrackingParticipant.Importance="Low">
-          <If.Then>
-            <ForEach x:TypeArguments="mtbwa:PlatformConfiguration" DisplayName="For Each Configuration in BuildSettings.PlatformConfigurations" Values="[BuildSettings.PlatformConfigurations]" mtbwt:BuildTrackingParticipant.Importance="Low">
-              <ActivityAction x:TypeArguments="mtbwa:PlatformConfiguration">
-                <ActivityAction.Argument>
-                  <DelegateInArgument x:TypeArguments="mtbwa:PlatformConfiguration" Name="platformConfiguration" />
-                </ActivityAction.Argument>
-                <Sequence DisplayName="Clean Configuration">
-                  <If Condition="[BuildSettings.HasProjectsToBuild]" DisplayName="If BuildSettings.HasProjectsToBuild" mtbwt:BuildTrackingParticipant.Importance="Low">
-                    <If.Then>
-                      <ForEach x:TypeArguments="x:String" DisplayName="For Each Project in BuildSettings.ProjectsToBuild" Values="[BuildSettings.ProjectsToBuild]" mtbwt:BuildTrackingParticipant.Importance="Low">
-                        <ActivityAction x:TypeArguments="x:String">
-                          <ActivityAction.Argument>
-                            <DelegateInArgument x:TypeArguments="x:String" Name="serverBuildProjectItem" />
-                          </ActivityAction.Argument>
-                          <Sequence DisplayName="Clean Project" mtbwt:BuildTrackingParticipant.Importance="Low">
-                            <Sequence.Variables>
-                              <Variable x:TypeArguments="x:String" Name="localBuildProjectItem" />
-                            </Sequence.Variables>
-                            <mtbwa:ConvertWorkspaceItem DisplayName="Convert Server Paths to Local Paths" Input="[serverBuildProjectItem]" Result="[localBuildProjectItem]" Workspace="[Workspace]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                            <If Condition="[System.IO.File.Exists(localBuildProjectItem)]" DisplayName="If File.Exists(Project)" mtbwt:BuildTrackingParticipant.Importance="Low">
-                              <If.Then>
-                                <mtbwa:MSBuild CommandLineArguments="[String.Format(&quot;/p:SkipInvalidConfigurations=true {0}&quot;, MSBuildArguments)]" Configuration="[platformConfiguration.Configuration]" DisplayName="Run MSBuild for Project" GenerateVSPropsFile="[True]" MaxProcesses="[If (MSBuildMultiProc, 0, 1)]" OutDir="[BinariesDirectory]" Platform="[platformConfiguration.Platform]" Project="[localBuildProjectItem]" Targets="[New String() { &quot;Clean&quot; }]" TargetsNotLogged="[New String() {&quot;GetNativeManifest&quot;, &quot;GetCopyToOutputDirectoryItems&quot;, &quot;GetTargetPath&quot;}]" ToolPlatform="[MSBuildPlatform]" Verbosity="[Verbosity]" />
-                              </If.Then>
-                            </If>
-                          </Sequence>
-                        </ActivityAction>
-                      </ForEach>
-                    </If.Then>
-                  </If>
-                </Sequence>
-              </ActivityAction>
-            </ForEach>
-          </If.Then>
-        </If>
-        <mtbwa:SyncWorkspace DisplayName="Get Workspace" VersionOverride="[GetVersion]" Workspace="[Workspace]">
-          <mtbwa:SyncWorkspace.RequestsFailed>
-            <ActivityAction x:TypeArguments="scg:ICollection(mtbc:IQueuedBuild)">
-              <ActivityAction.Argument>
-                <DelegateInArgument x:TypeArguments="scg:ICollection(mtbc:IQueuedBuild)" Name="failedRequests" />
-              </ActivityAction.Argument>
-              <mtbwa:RetryRequests Behavior="[Microsoft.TeamFoundation.Build.Workflow.Activities.RetryBehavior.DoNotBatch]" DisplayName="Mark Requests for Retry" Requests="[failedRequests]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-            </ActivityAction>
-          </mtbwa:SyncWorkspace.RequestsFailed>
-        </mtbwa:SyncWorkspace>
-      </Sequence>
-      <If Condition="[CreateLabel]" DisplayName="If CreateLabel" mtbwt:BuildTrackingParticipant.Importance="Low">
-        <If.Then>
-          <mtbwa:InvokeForReason DisplayName="Create and Set Label for non-Shelveset Builds" Reason="Manual, IndividualCI, BatchedCI, Schedule, ScheduleForced, UserCreated">
-            <mtbwa:LabelWorkspace Comment="[&quot;Label Created by Team Build&quot;]" DisplayName="Create Label" Name="[LabelName]" Scope="[String.Format(&quot;$/{0}&quot;, BuildDetail.BuildDefinition.TeamProject)]" Workspace="[Workspace]" />
-            <mtbwa:SetBuildProperties DisplayName="Set Label on BuildDetail" LabelName="[String.Format(&quot;{0}@$/{1}&quot;, LabelName, BuildDetail.BuildDefinition.TeamProject)]" PropertiesToSet="LabelName" mtbwt:BuildTrackingParticipant.Importance="Low" />
-          </mtbwa:InvokeForReason>
-        </If.Then>
-        <If.Else>
-          <mtbwa:WriteBuildMessage DisplayName="Write Message" Message="Not Labeling sources" Importance="[Microsoft.TeamFoundation.Build.Client.BuildMessageImportance.High]" />
-        </If.Else>
-      </If>
-      <TryCatch DisplayName="Try Compile, Test, and Associate Changesets and Work Items" mtbwt:BuildTrackingParticipant.Importance="Low">
-        <TryCatch.Finally>
-          <Sequence DisplayName="Revert Workspace and Copy Files to Drop Location" mtbwt:BuildTrackingParticipant.Importance="Low">
-            <mtbwa:InvokeForReason DisplayName="Revert Workspace for Shelveset Builds" Reason="CheckInShelveset, ValidateShelveset">
-              <mtbwa:RevertWorkspace DisplayName="Revert Workspace" Workspace="[Workspace]" />
-            </mtbwa:InvokeForReason>
-            <If  Condition="[Not String.IsNullOrEmpty(DropLocation)]" DisplayName="If DropLocation is Set" mtbwt:BuildTrackingParticipant.Importance="Low">
-              <If.Then>
-                <mtbwa:CopyDirectory DisplayName="Drop Files to Drop Location" Source="[BinariesDirectory]" Destination="[DropLocation]" />
-              </If.Then>
-            </If>
-          </Sequence>
-        </TryCatch.Finally>
-        <TryCatch.Try>
-          <Sequence mtbwt:BuildTrackingParticipant.Importance="None">
-            <Sequence.Variables>
-              <Variable x:TypeArguments="s:Exception" Name="compilationException" />
-              <Variable x:TypeArguments="scg:IList(mtvc:Changeset)" Name="associatedChangesets" />
-              <Variable x:TypeArguments="s:Boolean" Name="treatTestFailureAsBuildFailure" />
-            </Sequence.Variables>
-            <Parallel DisplayName="Compile, Test, and Associate Changesets and Work Items">
-              <TryCatch DisplayName="Try Compile and Test" mtbwt:BuildTrackingParticipant.Importance="Low">
-                <TryCatch.Try>
-                  <Sequence DisplayName="Compile and Test">
-                    <ForEach x:TypeArguments="mtbwa:PlatformConfiguration" DisplayName="For Each Configuration in BuildSettings.PlatformConfigurations" Values="[BuildSettings.PlatformConfigurations]" mtbwt:BuildTrackingParticipant.Importance="Low">
-                      <ActivityAction x:TypeArguments="mtbwa:PlatformConfiguration">
-                        <ActivityAction.Argument>
-                          <DelegateInArgument x:TypeArguments="mtbwa:PlatformConfiguration" Name="platformConfiguration" />
-                        </ActivityAction.Argument>
-                        <Sequence DisplayName="Compile and Test for Configuration" mtbwt:BuildTrackingParticipant.Importance="Low">
-                          <Sequence.Variables>
-                            <Variable x:TypeArguments="x:String" Name="outputDirectory" />
-                            <Variable x:TypeArguments="x:String" Name="logFileDropLocation" />
-                          </Sequence.Variables>
-                          <Sequence DisplayName="Initialize Variables" mtbwt:BuildTrackingParticipant.Importance="Low">
-                            <Assign x:TypeArguments="x:String" DisplayName="Create OutputDirectory Per Platform and Configuration" To="[outputDirectory]" Value="[If (platformConfiguration.IsEmpty Or BuildSettings.PlatformConfigurations.Count = 1, BinariesDirectory, If (platformConfiguration.IsPlatformEmptyOrAnyCpu, BinariesDirectory + &quot;\&quot; + platformConfiguration.Configuration, BinariesDirectory + &quot;\&quot; + platformConfiguration.Platform + &quot;\&quot; + platformConfiguration.Configuration))]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                            <If Condition="[Not String.IsNullOrEmpty(DropLocation)]" DisplayName="If DropLocation is Set" mtbwt:BuildTrackingParticipant.Importance="Low">
-                              <If.Then>
-                                <Assign x:TypeArguments="x:String" DisplayName="Initialize LogFile Drop Location" To="[logFileDropLocation]" Value="[If (platformConfiguration.IsEmpty Or BuildSettings.PlatformConfigurations.Count = 1, BuildDropProvider.CombinePaths(DropLocation, &quot;logs&quot;), If (platformConfiguration.IsPlatformEmptyOrAnyCpu, BuildDropProvider.CombinePaths(DropLocation, &quot;logs&quot;, platformConfiguration.Configuration), BuildDropProvider.CombinePaths(DropLocation, &quot;logs&quot;, platformConfiguration.Platform, platformConfiguration.Configuration)))]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                              </If.Then>
-                            </If>
-                          </Sequence>
-                          <If Condition="[BuildSettings.HasProjectsToBuild]" DisplayName="If BuildSettings.HasProjectsToBuild" mtbwt:BuildTrackingParticipant.Importance="Low">
-                            <If.Then>
-                              <ForEach x:TypeArguments="x:String" DisplayName="For Each Project in BuildSettings.ProjectsToBuild" Values="[BuildSettings.ProjectsToBuild]" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                <ActivityAction x:TypeArguments="x:String">
-                                  <ActivityAction.Argument>
-                                    <DelegateInArgument x:TypeArguments="x:String" Name="serverBuildProjectItem" />
-                                  </ActivityAction.Argument>
-                                  <TryCatch DisplayName="Try to Compile the Project" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                    <TryCatch.Try>
-                                      <Sequence DisplayName="Compile the Project" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                        <Sequence.Variables>
-                                          <Variable x:TypeArguments="x:String" Name="localProject" />
-                                          <Variable x:TypeArguments="x:String" Name="outputDirectoryPerProject" Default="[outputDirectory]" />
-                                        </Sequence.Variables>
-                                        <mtbwa:ConvertWorkspaceItem DisplayName="Convert Server Path to Local Path" Input="[serverBuildProjectItem]" Result="[localProject]" Workspace="[Workspace]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                                        <If Condition="[SolutionSpecificBuildOutputs]" DisplayName="If Build Outputs are Solution-Specific" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                          <If.Then>
-                                            <Sequence DisplayName="Update Output Directory" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                              <Assign x:TypeArguments="x:String" DisplayName="Set Solution-Specific Output Directory" To="[outputDirectoryPerProject]" Value="[System.IO.Path.Combine(outputDirectory, System.IO.Path.GetFileNameWithoutExtension(localProject))]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                                              <If DisplayName="If Output Directory Exists" Condition="[System.IO.Directory.Exists(outputDirectoryPerProject)]" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                                <If.Then>
-                                                  <mtbwa:WriteBuildWarning DisplayName="Write Duplicate Project Names Warning" Message="[String.Format(&quot;{0} conflicts with another solution/project. Build outputs for solutions/projects with the same name will be copied to the same directory. To separate the build outputs, change the name of one of the solutions/projects.&quot;, System.IO.Path.GetFileNameWithoutExtension(localProject))]" />
-                                                </If.Then>
-                                              </If>
-                                            </Sequence>
-                                          </If.Then>
-                                        </If>
-                                        <mtbwa:MSBuild CommandLineArguments="[String.Format(&quot;/p:SkipInvalidConfigurations=true {0}&quot;, MSBuildArguments)]" Configuration="[platformConfiguration.Configuration]" DisplayName="Run MSBuild for Project" GenerateVSPropsFile="[True]" LogFileDropLocation="[logFileDropLocation]" MaxProcesses="[If (MSBuildMultiProc, 0, 1)]" OutDir="[outputDirectoryPerProject]" Platform="[platformConfiguration.Platform]" Project="[localProject]" RunCodeAnalysis="[RunCodeAnalysis]" TargetsNotLogged="[New String() {&quot;GetNativeManifest&quot;, &quot;GetCopyToOutputDirectoryItems&quot;, &quot;GetTargetPath&quot;}]" ToolPlatform="[MSBuildPlatform]" Verbosity="[Verbosity]" />
-                                      </Sequence>
-                                    </TryCatch.Try>
-                                    <TryCatch.Catches>
-                                      <Catch x:TypeArguments="s:Exception">
-                                        <ActivityAction x:TypeArguments="s:Exception">
-                                          <ActivityAction.Argument>
-                                            <DelegateInArgument x:TypeArguments="s:Exception" Name="ex" />
-                                          </ActivityAction.Argument>
-                                          <Sequence DisplayName="Handle Exception">
-                                            <Sequence.Variables>
-                                              <Variable x:TypeArguments="scg:ICollection(mtbc:IQueuedBuild)" Name="failedRequests" />
-                                            </Sequence.Variables>
-                                            <mtbwa:SetBuildProperties CompilationStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Failed]" DisplayName="Set CompilationStatus to Failed" PropertiesToSet="CompilationStatus" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                                            <If Condition="[CreateWorkItem]" DisplayName="If CreateWorkItem" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                              <If.Then>
-                                                <mtbwa:InvokeForReason DisplayName="Create Work Item for non-Shelveset Builds" Reason="Manual, IndividualCI, BatchedCI, Schedule, ScheduleForced, UserCreated">
-                                                  <mtbwa:OpenWorkItem AssignedTo="[BuildDetail.RequestedFor]" Comment="[&quot;This work item was created by TFS Build on a build failure.&quot;]" CustomFields="[New Dictionary(Of String, String) From { {&quot;System.Reason&quot;, &quot;Build Failure&quot;}, {&quot;Microsoft.VSTS.TCM.ReproSteps&quot;, &quot;Start the build using TFS Build&quot;}, {&quot;Priority&quot;, &quot;1&quot;}, {&quot;Severity&quot;, &quot;1 - Critical&quot;} }]" DisplayName="Create Work Item" Title="[String.Format(&quot;Build Failure in Build: {0}&quot;, BuildDetail.BuildNumber)]" Type="[&quot;Bug&quot;]" />
-                                                </mtbwa:InvokeForReason>
-                                              </If.Then>
-                                            </If>
-                                            <mtbwa:GetApprovedRequests DisplayName="Get Requests Approved for Check In" Result="[failedRequests]" mtbwt:BuildTrackingParticipant.Importance="None" />
-                                            <mtbwa:RetryRequests Behavior="[Microsoft.TeamFoundation.Build.Workflow.Activities.RetryBehavior.DoNotBatch]" DisplayName="Mark Requests for Retry" Requests="[failedRequests]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                                            <Rethrow DisplayName="Rethrow the exception so the build will stop" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                                          </Sequence>
-                                        </ActivityAction>
-                                      </Catch>
-                                    </TryCatch.Catches>
-                                  </TryCatch>
-                                </ActivityAction>
-                              </ForEach>
-                            </If.Then>
-                          </If>
-                          <If Condition="[Not DisableTests]" DisplayName="If Not DisableTests" mtbwt:BuildTrackingParticipant.Importance="Low">
-                            <If.Then>
-                              <Sequence DisplayName="Run Tests" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                <If Condition="[Not TestSpecs Is Nothing]" DisplayName="If Not TestSpecs Is Nothing" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                  <If.Then>
-                                    <ForEach x:TypeArguments="mtbwa:TestSpec" DisplayName="For Each TestSpec in TestSpecs" Values="[TestSpecs]" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                      <ActivityAction x:TypeArguments="mtbwa:TestSpec">
-                                        <ActivityAction.Argument>
-                                          <DelegateInArgument x:TypeArguments="mtbwa:TestSpec" Name="spec" />
-                                        </ActivityAction.Argument>
-                                        <TryCatch DisplayName="Try Run Tests" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                          <TryCatch.Try>
-                                            <If Condition="[TypeOf spec Is Microsoft.TeamFoundation.Build.Workflow.Activities.AgileTestPlatformSpec]" DisplayName="If spec Is AgileTestPlatformSpec" mtbwt:BuildTrackingParticipant.Importance="None">
-                                              <If.Then>
-                                                <Sequence DisplayName="Run Visual Studio Test Runner for Test Sources" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                                  <Sequence.Variables>
-                                                    <Variable x:TypeArguments="mtbwa:AgileTestPlatformSpec" Name="agileTestPlatformAssembly" />
-                                                    <Variable x:TypeArguments="scg:IEnumerable(x:String)" Name="agileTestPlatformAssemblies" />
-                                                  </Sequence.Variables>
-                                                  <Assign x:TypeArguments="mtbwa:AgileTestPlatformSpec" DisplayName="Assign spec to agileTestPlatformAssembly" To="[agileTestPlatformAssembly]" Value="[DirectCast(spec, Microsoft.TeamFoundation.Build.Workflow.Activities.AgileTestPlatformSpec)]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                                                  <mtbwa:FindMatchingFiles DisplayName="Find Visual Studio Test Platform Test Assemblies" MatchPattern="[String.Format(&quot;{0}\{1}&quot;, outputDirectory, agileTestPlatformAssembly.AssemblyFileSpec)]" Result="[agileTestPlatformAssemblies]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                                                  <If Condition="[agileTestPlatformAssemblies.Count() &gt; 0]" DisplayName="If Visual Studio Test Platform Test Assemblies Found" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                                    <If.Then>
-                                                      <If Condition="[agileTestPlatformAssembly.HasRunSettingsFile]" DisplayName="If agileTestPlatformAssembly.HasRunSettingsFile" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                                        <If.Then>
-                                                          <Sequence DisplayName="Find Run Settings File And Run Visual Studio Test Runner" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                                            <Sequence.Variables>
-                                                              <Variable x:TypeArguments="x:String" Name="localRunSettings" />
-                                                            </Sequence.Variables>
-                                                            <mtbwa:GenerateRunSettings DisplayName="Generate Run Settings File" RunSettingsForTestRun="[agileTestPlatformAssembly.RunSettingsForTestRun]" Result="[localRunSettings]" Workspace="[Workspace]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                                                            <mtbwa:RunTests DisplayName="Run Visual Studio Test Runner for Test Sources" RunName="[agileTestPlatformAssembly.RunName]" Flavor="[platformConfiguration.Configuration]" Platform="[platformConfiguration.Platform]" TestSources="[agileTestPlatformAssemblies]" RunSettings="[localRunSettings]" TestCaseFilter="[agileTestPlatformAssembly.TestCaseFilter]" ExecutionPlatform="[agileTestPlatformAssembly.ExecutionPlatform]" />
-                                                          </Sequence>
-                                                        </If.Then>
-                                                        <If.Else>
-                                                          <mtbwa:RunTests DisplayName="Run Visual Studio Test Runner for Test Sources" RunName="[agileTestPlatformAssembly.RunName]" Flavor="[platformConfiguration.Configuration]" Platform="[platformConfiguration.Platform]" TestSources="[agileTestPlatformAssemblies]" TestCaseFilter="[agileTestPlatformAssembly.TestCaseFilter]" ExecutionPlatform="[agileTestPlatformAssembly.ExecutionPlatform]" />
-                                                        </If.Else>
-                                                      </If>
-                                                    </If.Then>
-                                                  </If>
-                                                </Sequence>
-                                              </If.Then>
-                                              <If.Else>
-                                                <If Condition="[TypeOf spec Is Microsoft.TeamFoundation.Build.Workflow.Activities.TestMetadataFileSpec]" DisplayName="If spec Is TestMetadataFileSpec" mtbwt:BuildTrackingParticipant.Importance="None">
-                                                  <If.Then>
-                                                    <Sequence DisplayName="Run MSTest for Metadata File">
-                                                      <Sequence.Variables>
-                                                        <Variable x:TypeArguments="mtbwa:TestMetadataFileSpec" Name="testMetadataFile" />
-                                                        <Variable x:TypeArguments="x:String" Name="localTestMetadata" />
-                                                      </Sequence.Variables>
-                                                      <Assign x:TypeArguments="mtbwa:TestMetadataFileSpec" DisplayName="Assign spec to testMetadataFile" To="[testMetadataFile]" Value="[DirectCast(spec, Microsoft.TeamFoundation.Build.Workflow.Activities.TestMetadataFileSpec)]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                                                      <mtbwa:ConvertWorkspaceItem DisplayName="Convert Server Path to Local Path" Input="[testMetadataFile.MetadataFileName]" Result="[localTestMetadata]" Workspace="[Workspace]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                                                      <mtbwa:MSTest RunTitle="[testMetadataFile.RunName]" Category="[testMetadataFile.CategoryFilter]" DisplayName="Run MSTest for Metadata File" Flavor="[platformConfiguration.Configuration]" MaxPriority="[testMetadataFile.MaximumPriority]" MinPriority="[testMetadataFile.MinimumPriority]" PathToResultsFilesRoot="[TestResultsDirectory]" Platform="[platformConfiguration.Platform]" SearchPathRoot="[outputDirectory]" TestLists="[testMetadataFile.TestLists]" TestMetadata="[localTestMetadata]" TestSettings="[String.Empty]" CommandLineArguments="[testMetadataFile.MSTestCommandLineArgs]" />
-                                                    </Sequence>
-                                                  </If.Then>
-                                                  <If.Else>
-                                                    <Sequence DisplayName="Run MSTest for Test Assemblies" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                                      <Sequence.Variables>
-                                                        <Variable x:TypeArguments="mtbwa:TestAssemblySpec" Name="testAssembly" />
-                                                        <Variable x:TypeArguments="scg:IEnumerable(x:String)" Name="testAssemblies" />
-                                                        <Variable x:TypeArguments="x:String" Default="[String.Empty]" Name="testFlavor" />
-                                                        <Variable x:TypeArguments="x:String" Default="[String.Empty]" Name="testPlatform" />
-                                                      </Sequence.Variables>
-                                                      <Assign x:TypeArguments="mtbwa:TestAssemblySpec" DisplayName="Assign spec to testAssembly" To="[testAssembly]" Value="[DirectCast(spec, Microsoft.TeamFoundation.Build.Workflow.Activities.TestAssemblySpec)]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                                                      <mtbwa:FindMatchingFiles DisplayName="Find Test Assemblies" MatchPattern="[String.Format(&quot;{0}\{1}&quot;, outputDirectory, testAssembly.AssemblyFileSpec)]" Result="[testAssemblies]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                                                      <If Condition="[testAssemblies.Count() &gt; 0]" DisplayName="If Test Assemblies Found" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                                        <If.Then>
-                                                          <If Condition="[testAssembly.HasTestSettingsFile]" DisplayName="If testAssembly.HasTestSettingsFile" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                                            <If.Then>
-                                                              <Sequence DisplayName="Find Test Settings File And Run MSTest" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                                                <Sequence.Variables>
-                                                                  <Variable x:TypeArguments="x:String" Name="localTestSettings" />
-                                                                </Sequence.Variables>
-                                                                <mtbwa:ConvertWorkspaceItem DisplayName="Convert Server Path to Local Path" Input="[testAssembly.TestSettingsFileName]" Result="[localTestSettings]" Workspace="[Workspace]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                                                                <mtbwa:MSTest RunTitle="[testAssembly.RunName]" Category="[testAssembly.CategoryFilter]" DisplayName="Run MSTest for Test Assemblies" Flavor="[platformConfiguration.Configuration]" MaxPriority="[testAssembly.MaximumPriority]" MinPriority="[testAssembly.MinimumPriority]" PathToResultsFilesRoot="[TestResultsDirectory]" Platform="[platformConfiguration.Platform]" SearchPathRoot="[outputDirectory]" TestContainers="[testAssemblies]" TestSettings="[localTestSettings]" CommandLineArguments="[testAssembly.MSTestCommandLineArgs]" />
-                                                              </Sequence>
-                                                            </If.Then>
-                                                            <If.Else>
-                                                              <mtbwa:MSTest RunTitle="[testAssembly.RunName]" Category="[testAssembly.CategoryFilter]" DisplayName="Run MSTest for Test Assemblies" Flavor="[platformConfiguration.Configuration]" MaxPriority="[testAssembly.MaximumPriority]" MinPriority="[testAssembly.MinimumPriority]" PathToResultsFilesRoot="[TestResultsDirectory]" Platform="[platformConfiguration.Platform]" SearchPathRoot="[outputDirectory]" TestContainers="[testAssemblies]" CommandLineArguments="[testAssembly.MSTestCommandLineArgs]" />
-                                                            </If.Else>
-                                                          </If>
-                                                        </If.Then>
-                                                      </If>
-                                                    </Sequence>
-                                                  </If.Else>
-                                                </If>
-                                              </If.Else>
-                                            </If>
-                                          </TryCatch.Try>
-                                          <TryCatch.Catches>
-                                            <Catch x:TypeArguments="s:Exception">
-                                              <ActivityAction x:TypeArguments="s:Exception">
-                                                <ActivityAction.Argument>
-                                                  <DelegateInArgument x:TypeArguments="s:Exception" Name="testException" />
-                                                </ActivityAction.Argument>
-                                                <Sequence DisplayName="Handle Test Run Exception">
-                                                  <Sequence.Variables>
-                                                    <Variable x:TypeArguments="scg:ICollection(mtbc:IQueuedBuild)" Name="failedRequests" />
-                                                  </Sequence.Variables>
-                                                  <If Condition="[Not (TypeOf testException Is Microsoft.TeamFoundation.Build.Workflow.Activities.TestFailureException)]" DisplayName="If testException is NOT TestFailureException" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                                    <If.Then>
-                                                      <mtbwa:WriteBuildError DisplayName="Write Test Failure Message" Message="[testException.Message]" />
-                                                    </If.Then>
-                                                  </If>
-                                                  <mtbwa:SetBuildProperties DisplayName="Set TestStatus to Failed" PropertiesToSet="TestStatus" TestStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Failed]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                                                  <If Condition="[spec.FailBuildOnFailure]" DisplayName="If spec.FailBuildOnFailure" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                                    <If.Then>
-                                                      <Assign x:TypeArguments="s:Boolean" DisplayName="Set treatTestFailureAsBuildFailure to True" To="[treatTestFailureAsBuildFailure]" Value="[True]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                                                    </If.Then>
-                                                  </If>
-                                                  <mtbwa:GetApprovedRequests DisplayName="Get Requests Approved for Check In" Result="[failedRequests]" mtbwt:BuildTrackingParticipant.Importance="None" />
-                                                  <mtbwa:RetryRequests Behavior="[Microsoft.TeamFoundation.Build.Workflow.Activities.RetryBehavior.DoNotBatch]" DisplayName="Mark Requests for Retry" Requests="[failedRequests]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                                                </Sequence>
-                                              </ActivityAction>
-                                            </Catch>
-                                          </TryCatch.Catches>
-                                        </TryCatch>
-                                      </ActivityAction>
-                                    </ForEach>
-                                  </If.Then>
-                                </If>
-                              </Sequence>
-                            </If.Then>
-                            <If.Else>
-                              <If Condition="[(Not TestSpecs Is Nothing) And (TestSpecs.Count > 0)]" DisplayName="If TestSpecs Is Not Nothing or Empty" mtbwt:BuildTrackingParticipant.Importance="Low">
-                                <If.Then>
-                                  <mtbwa:WriteBuildWarning DisplayName="Write Warning" Message="No automated tests will be run for this build because tests have been disabled for this build definition. To enable these tests, edit this build definition and set the Disable Tests process parameter to false." />
-                                </If.Then>
-                              </If>
-                            </If.Else>
-                          </If>
-                        </Sequence>
-                      </ActivityAction>
-                    </ForEach>
-                    <If Condition="[BuildDetail.CompilationStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Unknown]" DisplayName="If CompilationStatus = Unknown" mtbwt:BuildTrackingParticipant.Importance="Low">
-                      <If.Then>
-                        <mtbwa:SetBuildProperties CompilationStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Succeeded]" DisplayName="Set CompilationStatus to Succeeded" PropertiesToSet="CompilationStatus" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                      </If.Then>
-                    </If>
-                    <If Condition="[BuildDetail.TestStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Unknown]" DisplayName="If TestStatus = Unknown" mtbwt:BuildTrackingParticipant.Importance="Low">
-                      <If.Then>
-                        <mtbwa:SetBuildProperties DisplayName="Set TestStatus to Succeeded" PropertiesToSet="TestStatus" TestStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Succeeded]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                      </If.Then>
-                    </If>
-                    <If Condition="[treatTestFailureAsBuildFailure And (BuildDetail.TestStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Failed)]" DisplayName="If TreatTestFailureAsBuildFailure And (TestStatus = Failed)" mtbwt:BuildTrackingParticipant.Importance="Low">
-                      <If.Then>
-                        <mtbwa:SetBuildProperties DisplayName="Set Status to Failed" PropertiesToSet="Status" Status="[Microsoft.TeamFoundation.Build.Client.BuildStatus.Failed]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                      </If.Then>
-                    </If>
-                  </Sequence>
-                </TryCatch.Try>
-                <TryCatch.Catches>
-                  <Catch x:TypeArguments="s:Exception">
-                    <ActivityAction x:TypeArguments="s:Exception">
-                      <ActivityAction.Argument>
-                        <DelegateInArgument x:TypeArguments="s:Exception" Name="compilationExceptionArgument" />
-                      </ActivityAction.Argument>
-                      <Assign x:TypeArguments="s:Exception" DisplayName="Save the Compilation Exception" To="[compilationException]" Value="[compilationExceptionArgument]" mtbwt:BuildTrackingParticipant.Importance="None" />
-                    </ActivityAction>
-                  </Catch>
-                </TryCatch.Catches>
-              </TryCatch>
-              <If Condition="[AssociateChangesetsAndWorkItems]" DisplayName="If AssociateChangesetsAndWorkItems" mtbwt:BuildTrackingParticipant.Importance="Low">
-                <If.Then>
-                  <If Condition="[CreateLabel]" DisplayName="If CreateLabel and AssociateChangesetsAndWorkItems" mtbwt:BuildTrackingParticipant.Importance="Low">
-                    <If.Then>
-                      <mtbwa:InvokeForReason DisplayName="Associate Changesets and Work Items for non-Shelveset Builds" Reason="Manual, IndividualCI, BatchedCI, Schedule, ScheduleForced, UserCreated">
-                        <mtbwa:AssociateChangesetsAndWorkItems DisplayName="Associate Changesets and Work Items" Result="[associatedChangesets]" />
-                      </mtbwa:InvokeForReason>
-                    </If.Then>
-                    <If.Else>
-                      <mtbwa:WriteBuildWarning DisplayName="Write Associate Changesets and Work Items Warning" Message="Cannot Associate Changesets and Work Items because the Label Sources option is set to False." />
-                    </If.Else>
-                  </If>
-                </If.Then>
-              </If>
-            </Parallel>
-            <If Condition="[Not compilationException Is Nothing]" DisplayName="If a Compilation Exception Occurred" mtbwt:BuildTrackingParticipant.Importance="Low">
-              <If.Then>
-                <Throw DisplayName="Rethrow Compilation Exception" Exception="[compilationException]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-              </If.Then>
-            </If>
-            <Parallel DisplayName="Get Impacted Tests, Index Sources and Publish Symbols">
-              <If Condition="[PerformTestImpactAnalysis]" DisplayName="If PerformTestImpactAnalysis" mtbwt:BuildTrackingParticipant.Importance="Low">
-                <If.Then>
-                  <Sequence DisplayName="Get Impacted Tests" mtbwt:BuildTrackingParticipant.Importance="Low">
-                    <Sequence.Variables>
-                      <Variable x:TypeArguments="scg:IEnumerable(x:String)" Name="assemblies" />
-                    </Sequence.Variables>
-                    <mtbwa:FindMatchingFiles DisplayName="Find Build Outputs" MatchPattern="[String.Format(&quot;{0}\**\*.dll;{0}\**\*.exe&quot;, BinariesDirectory)]" Result="[assemblies]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                    <mttbb:GetImpactedTests Assemblies="[assemblies]" AssociatedChangesets="[associatedChangesets]" BinariesRoot="[BinariesDirectory]" Build="[BuildDetail]" CodeChanges="{x:Null}" DisplayName="Get Impacted Tests" ImpactedTests="{x:Null}" Workspace="[Workspace]" />
-                  </Sequence>
-                </If.Then>
-              </If>
-              <If Condition="[SourceAndSymbolServerSettings.IndexSources Or SourceAndSymbolServerSettings.HasSymbolStorePath]" DisplayName="If SourceAndSymbolServerSettings.IndexSources Or SourceAndSymbolServerSettings.HasSymbolStorePath" mtbwt:BuildTrackingParticipant.Importance="Low">
-                <If.Then>
-                  <mtbwa:InvokeForReason DisplayName="Index Sources and Publish Symbols for Triggered Builds" Reason="Triggered">
-                    <mtbwa:InvokeForReason.Variables>
-                      <Variable x:TypeArguments="scg:IEnumerable(x:String)" Name="symbolFiles" />
-                    </mtbwa:InvokeForReason.Variables>
-                    <mtbwa:FindMatchingFiles DisplayName="Find Symbol Files" MatchPattern="[String.Format(&quot;{0}\**\*.pdb&quot;, BinariesDirectory)]" Result="[symbolFiles]" mtbwt:BuildTrackingParticipant.Importance="Low" />
-                    <If Condition="[SourceAndSymbolServerSettings.IndexSources]" DisplayName="If SourceAndSymbolServerSettings.IndexSources" mtbwt:BuildTrackingParticipant.Importance="Low">
-                      <If.Then>
-                        <TryCatch DisplayName="Try Index Sources" mtbwt:BuildTrackingParticipant.Importance="Low">
-                          <TryCatch.Try>
-                            <mtbwa:IndexSources DisplayName="Index Sources" FileList="[symbolFiles]" />
-                          </TryCatch.Try>
-                          <TryCatch.Catches>
-                            <Catch x:TypeArguments="s:Exception">
-                              <ActivityAction x:TypeArguments="s:Exception">
-                                <ActivityAction.Argument>
-                                  <DelegateInArgument x:TypeArguments="s:Exception" Name="exception" />
-                                </ActivityAction.Argument>
-                                <mtbwa:WriteBuildError DisplayName="Write Indexing Sources Error" Message="[exception.Message]" />
-                              </ActivityAction>
-                            </Catch>
-                          </TryCatch.Catches>
-                        </TryCatch>
-                      </If.Then>
-                    </If>
-                    <If Condition="[SourceAndSymbolServerSettings.HasSymbolStorePath]" DisplayName="If SourceAndSymbolServerSettings.HasSymbolStorePath" mtbwt:BuildTrackingParticipant.Importance="Low">
-                      <If.Then>
-                        <TryCatch DisplayName="Try Publish Symbols" mtbwt:BuildTrackingParticipant.Importance="Low">
-                          <TryCatch.Try>
-                            <mtbwa:SharedResourceScope DisplayName="Synchronize Access to Symbol Store" MaxExecutionTime="[TimeSpan.Zero]" MaxWaitTime="[New TimeSpan(1, 0, 0)]" ResourceName="[SourceAndSymbolServerSettings.SymbolStorePath]" mtbwt:BuildTrackingParticipant.Importance="Low">
-                              <mtbwa:PublishSymbols DisplayName="Publish Symbols" FileList="[symbolFiles]" ProductName="[BuildDetail.BuildDefinition.Name]" StorePath="[SourceAndSymbolServerSettings.SymbolStorePath]" Version="[BuildDetail.BuildNumber]" />
-                            </mtbwa:SharedResourceScope>
-                          </TryCatch.Try>
-                          <TryCatch.Catches>
-                            <Catch x:TypeArguments="s:Exception">
-                              <ActivityAction x:TypeArguments="s:Exception">
-                                <ActivityAction.Argument>
-                                  <DelegateInArgument x:TypeArguments="s:Exception" Name="exception" />
-                                </ActivityAction.Argument>
-                                <mtbwa:WriteBuildError DisplayName="Write Publishing Symbols Error" Message="[exception.Message]" />
-                              </ActivityAction>
-                            </Catch>
-                          </TryCatch.Catches>
-                        </TryCatch>
-                      </If.Then>
-                    </If>
-                  </mtbwa:InvokeForReason>
-                </If.Then>
-              </If>
-            </Parallel>
-          </Sequence>
-        </TryCatch.Try>
-      </TryCatch>
-    </mtbwa:AgentScope>
-    <mtbwa:InvokeForReason DisplayName="Check In Gated Changes for CheckInShelveset Builds" Reason="CheckInShelveset">
-      <mtbwa:CheckInGatedChanges DisplayName="Check In Gated Changes" />
-    </mtbwa:InvokeForReason>
-  </Sequence>
-</Activity>

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
BuildProcessTemplates/LabDefaultTemplate.11.xaml


+ 0 - 76
BuildProcessTemplates/UpgradeTemplate.xaml

@@ -1,76 +0,0 @@
-<Activity mc:Ignorable="sad" x:Class="TfsBuild.Process" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mtbc="clr-namespace:Microsoft.TeamFoundation.Build.Client;assembly=Microsoft.TeamFoundation.Build.Client" xmlns:mtbw="clr-namespace:Microsoft.TeamFoundation.Build.Workflow;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mtbwa="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Activities;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mtbwt="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Tracking;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mtvc="clr-namespace:Microsoft.TeamFoundation.VersionControl.Client;assembly=Microsoft.TeamFoundation.VersionControl.Client" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:sad="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation" xmlns:sad1="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib" xmlns:this="clr-namespace:TfsBuild;" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
-  <x:Members>
-    <x:Property Name="ConfigurationFolderPath" Type="InArgument(x:String)" />
-    <x:Property Name="AgentSettings" Type="InArgument(mtbwa:AgentSettings)" />
-    <x:Property Name="MSBuildArguments" Type="InArgument(x:String)" />
-    <x:Property Name="MSBuildPlatform" Type="InArgument(mtbwa:ToolPlatform)" />
-    <x:Property Name="DoNotDownloadBuildType" Type="InArgument(x:Boolean)" />
-    <x:Property Name="LogFilePerProject" Type="InArgument(x:Boolean)" />
-    <x:Property Name="SourcesSubdirectory" Type="InArgument(x:String)" />
-    <x:Property Name="BinariesSubdirectory" Type="InArgument(x:String)" />
-    <x:Property Name="TestResultsSubdirectory" Type="InArgument(x:String)" />
-    <x:Property Name="RecursionType" Type="InArgument(mtvc:RecursionType)" />
-    <x:Property Name="Verbosity" Type="InArgument(mtbw:BuildVerbosity)" />
-    <x:Property Name="Metadata" Type="mtbw:ProcessParameterMetadataCollection" />
-    <x:Property Name="SupportedReasons" Type="mtbc:BuildReason" />
-  </x:Members>
-  <this:Process.ConfigurationFolderPath>
-    <InArgument x:TypeArguments="x:String" />
-  </this:Process.ConfigurationFolderPath>
-  <this:Process.AgentSettings>[New Microsoft.TeamFoundation.Build.Workflow.Activities.AgentSettings() With {.MaxWaitTime = New System.TimeSpan(4, 0, 0), .MaxExecutionTime = New System.TimeSpan(0, 0, 0), .TagComparison = Microsoft.TeamFoundation.Build.Workflow.Activities.TagComparison.MatchExactly }]</this:Process.AgentSettings>
-  <this:Process.MSBuildArguments>
-    <InArgument x:TypeArguments="x:String" />
-  </this:Process.MSBuildArguments>
-  <this:Process.MSBuildPlatform>[Microsoft.TeamFoundation.Build.Workflow.Activities.ToolPlatform.Auto]</this:Process.MSBuildPlatform>
-  <this:Process.DoNotDownloadBuildType>[False]</this:Process.DoNotDownloadBuildType>
-  <this:Process.LogFilePerProject>[False]</this:Process.LogFilePerProject>
-  <this:Process.SourcesSubdirectory>
-    <InArgument x:TypeArguments="x:String" />
-  </this:Process.SourcesSubdirectory>
-  <this:Process.BinariesSubdirectory>
-    <InArgument x:TypeArguments="x:String" />
-  </this:Process.BinariesSubdirectory>
-  <this:Process.TestResultsSubdirectory>
-    <InArgument x:TypeArguments="x:String" />
-  </this:Process.TestResultsSubdirectory>
-  <this:Process.RecursionType>[Microsoft.TeamFoundation.VersionControl.Client.RecursionType.OneLevel]</this:Process.RecursionType>
-  <this:Process.Verbosity>[Microsoft.TeamFoundation.Build.Workflow.BuildVerbosity.Normal]</this:Process.Verbosity>
-  <this:Process.Metadata>
-    <mtbw:ProcessParameterMetadataCollection />
-  </this:Process.Metadata>
-  <this:Process.SupportedReasons>All</this:Process.SupportedReasons>
-  <mva:VisualBasic.Settings>Assembly references and imported namespaces serialized as XML namespaces</mva:VisualBasic.Settings>
-  <Sequence mtbwt:BuildTrackingParticipant.Importance="None">
-    <Sequence.Variables>
-      <Variable x:TypeArguments="mtbc:IBuildDetail" Name="BuildDetail" />
-    </Sequence.Variables>
-    <mtbwa:GetBuildDetail DisplayName="Get the Build" Result="[BuildDetail]" />
-    <mtbwa:InvokeForReason DisplayName="Update Build Number for Triggered Builds" Reason="Triggered">
-      <mtbwa:UpdateBuildNumber BuildNumberFormat="[&quot;$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)&quot;]" DisplayName="Update Build Number" />
-    </mtbwa:InvokeForReason>
-    <mtbwa:AgentScope DisplayName="Run On Agent" MaxExecutionTime="[AgentSettings.MaxExecutionTime]" MaxWaitTime="[AgentSettings.MaxWaitTime]" ReservationSpec="[AgentSettings.GetAgentReservationSpec()]">
-      <mtbwa:AgentScope.Variables>
-        <Variable x:TypeArguments="x:String" Name="buildDirectory" />
-      </mtbwa:AgentScope.Variables>
-      <mtbwa:GetBuildDirectory DisplayName="Get the Build Directory" Result="[buildDirectory]" />
-      <If Condition="[Not String.IsNullOrEmpty(ConfigurationFolderPath)]" DisplayName="If Not String.IsNullOrEmpty(ConfigurationFolderPath)">
-        <If.Then>
-          <mtbwa:TfsBuild BinariesSubdirectory="[BinariesSubdirectory]" BuildDirectory="[buildDirectory]" CommandLineArguments="[MSBuildArguments]" ConfigurationFolderPath="[ConfigurationFolderPath]" DisplayName="Run TfsBuild for Configuration Folder" DoNotDownloadBuildType="[DoNotDownloadBuildType]" LogFilePerProject="[LogFilePerProject]" RecursionType="[RecursionType]" SourcesSubdirectory="[SourcesSubdirectory]" TargetsNotLogged="[New String() {&quot;GetNativeManifest&quot;, &quot;GetCopyToOutputDirectoryItems&quot;, &quot;GetTargetPath&quot;}]" TestResultsSubdirectory="[TestResultsSubdirectory]" ToolPlatform="[MSBuildPlatform]" Verbosity="[Verbosity]" />
-        </If.Then>
-      </If>
-      <If Condition="[BuildDetail.CompilationStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Unknown]" DisplayName="If CompilationStatus = Unknown">
-        <If.Then>
-           <mtbwa:SetBuildProperties CompilationStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Succeeded]" DisplayName="Set CompilationStatus to Succeeded" PropertiesToSet="CompilationStatus" />
-        </If.Then>
-      </If>
-      <If Condition="[BuildDetail.TestStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Unknown]" DisplayName="If TestStatus = Unknown">
-        <If.Then>
-          <mtbwa:SetBuildProperties DisplayName="Set TestStatus to Succeeded" PropertiesToSet="TestStatus" TestStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Succeeded]" />
-        </If.Then>
-      </If>
-    </mtbwa:AgentScope>
-    <mtbwa:InvokeForReason Reason="CheckInShelveset">
-      <mtbwa:CheckInGatedChanges DisplayName="Check In Gated Changes" />
-    </mtbwa:InvokeForReason>
-  </Sequence>
-</Activity>

+ 0 - 3
Renci.SshClient/..svnbridge/.svnbridge

@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?><ItemProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><Properties><Property><Name>svn:ignore</Name><Value>Zlib
-Test
-</Value></Property></Properties></ItemProperties>

+ 0 - 1
Renci.SshClient/..svnbridge/SSH.NET.nupkg

@@ -1 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?><ItemProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><Properties><Property><Name>svn:mime-type</Name><Value>application/octet-stream</Value></Property></Properties></ItemProperties>

+ 0 - 18
Renci.SshClient/Renci.SshClient.Tests/ConnectionData.cs

@@ -1,18 +0,0 @@
-
-namespace Renci.SshClient.Tests
-{
-    public static class ConnectionData
-    {
-        public static string Host { get { return "oleg-centos.edc.renci.org"; } }
-
-        public static int Port { get { return 22; } }
-
-        public static string Username { get { return "tester"; } }
-
-        public static string Password { get { return "tester"; } }
-
-        public static string RsaKeyFilePath { get { return @"RSA key path"; } }
-
-        public static string DssKeyFilePath { get { return @"DSS key path"; } }
-    }
-}

+ 0 - 11
Renci.SshClient/Renci.SshClient.Tests/SftpClientTests/SftpClientTest.cs

@@ -1,11 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace Renci.SshClient.Tests
-{
-    class SftpClientTest
-    {
-    }
-}

+ 0 - 244
Renci.SshClient/Renci.SshClient.Tests/ShellTest.cs

@@ -1,244 +0,0 @@
-using System;
-using System.Diagnostics;
-using System.Text;
-using System.Threading.Tasks;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-
-namespace Renci.SshClient.Tests
-{
-    /// <summary>
-    /// Summary description for UnitTest1
-    /// </summary>
-    [TestClass]
-    public class ShellTest
-    {
-        public ShellTest()
-        {
-            //
-            // TODO: Add constructor logic here
-            //
-        }
-
-        private TestContext testContextInstance;
-
-        /// <summary>
-        ///Gets or sets the test context which provides
-        ///information about and functionality for the current test run.
-        ///</summary>
-        public TestContext TestContext
-        {
-            get
-            {
-                return testContextInstance;
-            }
-            set
-            {
-                testContextInstance = value;
-            }
-        }
-
-        #region Additional test attributes
-        //
-        // You can use the following additional attributes as you write your tests:
-        //
-        // Use ClassInitialize to run code before running the first test in the class
-        // [ClassInitialize()]
-        // public static void MyClassInitialize(TestContext testContext) { }
-        //
-        // Use ClassCleanup to run code after all tests in a class have run
-        // [ClassCleanup()]
-        // public static void MyClassCleanup() { }
-        //
-        // Use TestInitialize to run code before running each test 
-        // [TestInitialize()]
-        // public void MyTestInitialize() { }
-        //
-        // Use TestCleanup to run code after each test has run
-        // [TestCleanup()]
-        // public void MyTestCleanup() { }
-        //
-        #endregion
-
-        [TestMethod]
-        public void TestConnectUsingPassword()
-        {
-            var s = CreateShellUsingPassword();
-            s.Connect();
-            s.Disconnect();
-        }
-
-        [TestMethod]
-        public void TestExecuteSingleCommand()
-        {
-            var s = CreateShellUsingPassword();
-            s.Connect();
-            var result = ExecuteTestCommand(s);
-            s.Disconnect();
-
-            Assert.IsTrue(result);
-        }
-
-        [TestMethod]
-        public void TestReconnecting()
-        {
-            var s = CreateShellUsingPassword();
-            s.Connect();
-            var result = ExecuteTestCommand(s);
-            s.Disconnect();
-
-            Assert.IsTrue(result);
-
-            s.Connect();
-            result = ExecuteTestCommand(s);
-            s.Disconnect();
-
-            Assert.IsTrue(result);
-        }
-
-        [TestMethod]
-        public void TestMultipleThreadMultipleSessions_10000()
-        {
-            var s = CreateShellUsingPassword();
-            s.Connect();
-            System.Threading.Tasks.Parallel.For(0, 10000,
-                (counter) =>
-                {
-                    var result = ExecuteTestCommand(s);
-                    Debug.WriteLine(string.Format("TestMultipleThreadMultipleConnections #{0}", counter));
-                    Assert.IsTrue(result);
-                }
-            );
-
-            s.Disconnect();
-        }
-
-        [TestMethod]
-        public void TestMultipleThreadMultipleConnections_10000()
-        {
-            try
-            {
-                System.Threading.Tasks.Parallel.For(0, 10000,
-                    () =>
-                    {
-                        var s = CreateShellUsingPassword();
-                        s.Connect();
-                        return s;
-                    },
-                    (int counter, ParallelLoopState pls, SshClient s) =>
-                    {
-                        var result = ExecuteTestCommand(s);
-                        Debug.WriteLine(string.Format("TestMultipleThreadMultipleConnections #{0}", counter));
-                        Assert.IsTrue(result);
-                        return s;
-                    },
-                    (SshClient s) =>
-                    {
-                        s.Disconnect();
-                    }
-                );
-            }
-            catch (Exception exp)
-            {
-                Assert.Fail(exp.ToString());
-            }
-        }
-
-        [TestMethod]
-        public void TestExtendedOutput()
-        {
-            var s = CreateShellUsingPassword();
-            s.Connect();
-            var cmd = s.CreateCommand("echo 12345; echo 654321 >&2");
-            cmd.Execute();
-            var extendedData = Encoding.ASCII.GetString(cmd.ExtendedOutputStream.ToArray());
-            s.Disconnect();
-
-            Assert.AreEqual("12345\n", cmd.Result);
-            Assert.AreEqual("654321\n", extendedData);
-        }
-
-        [TestMethod]
-        public void TestInvalidCommandExecution()
-        {
-            var s = CreateShellUsingPassword();
-            s.Connect();
-
-            var cmd = s.CreateCommand(";");
-            cmd.Execute();
-            if (string.IsNullOrEmpty(cmd.Error))
-            {
-                Assert.Fail("Operation should fail");
-            }
-            Assert.IsTrue(cmd.ExitStatus > 0);
-
-            s.Disconnect();
-        }
-
-        [TestMethod]
-        public void TestInvalidCommandThenValidCommandExecution()
-        {
-            var s = CreateShellUsingPassword();
-            s.Connect();
-            var cmd = s.CreateCommand(";");
-            cmd.Execute();
-            if (string.IsNullOrEmpty(cmd.Error))
-            {
-                Assert.Fail("Operation should fail");
-            }
-            Assert.IsTrue(cmd.ExitStatus > 0);
-
-            var result = ExecuteTestCommand(s);
-            s.Disconnect();
-
-            Assert.IsTrue(result);
-        }
-
-        [TestMethod]
-        public void TestRsaKeyConnection()
-        {
-            var s = CreateShellUsingRSAKey();
-            s.Connect();
-            var result = ExecuteTestCommand(s);
-            s.Disconnect();
-            Assert.IsTrue(result);
-        }
-
-        [TestMethod]
-        public void TestDssKeyConnection()
-        {
-            var s = CreateShellUsingRSAKey();
-            s.Connect();
-            var result = ExecuteTestCommand(s);
-            s.Disconnect();
-            Assert.IsTrue(result);
-        }
-
-        private static SshClient CreateShellUsingPassword()
-        {
-            return new SshClient(ConnectionData.Host, ConnectionData.Port, ConnectionData.Username, ConnectionData.Password);
-        }
-
-        private static SshClient CreateShellUsingRSAKey()
-        {
-            return new SshClient(ConnectionData.Host, ConnectionData.Port, ConnectionData.Username, new PrivateKeyFile(ConnectionData.RsaKeyFilePath));
-        }
-
-        private static SshClient CreateShellUsingDSSKey()
-        {
-            return new SshClient(ConnectionData.Host, ConnectionData.Port, ConnectionData.Username, new PrivateKeyFile(ConnectionData.DssKeyFilePath));
-        }
-
-        private static bool ExecuteTestCommand(SshClient s)
-        {
-            var testValue = Guid.NewGuid().ToString();
-            var command = string.Format("echo {0}", testValue);
-            //var command = string.Format("echo {0};sleep 2s", testValue);
-            var cmd = s.CreateCommand(command);
-            var result = cmd.Execute();
-            result = result.Substring(0, result.Length - 1);    //  Remove \n chararacter returned by command
-            return result.Equals(testValue);
-        }
-
-
-    }
-}

+ 0 - 11
Renci.SshClient/Renci.SshClient/ChannelOpeningEventArgs.cs

@@ -1,11 +0,0 @@
-using System;
-using Renci.SshClient.Messages.Connection;
-
-namespace Renci.SshClient
-{
-    internal class ChannelOpeningEventArgs : EventArgs
-    {
-        public ChannelOpenMessage Message { get; set; }
-
-    }
-}

+ 0 - 219
Renci.SshClient/Renci.SshClient/Channels/ChannelSessionExec.cs

@@ -1,219 +0,0 @@
-using System;
-using System.IO;
-using System.Linq;
-using System.Threading;
-using Renci.SshClient.Messages;
-using Renci.SshClient.Messages.Connection;
-
-namespace Renci.SshClient.Channels
-{
-    internal class ChannelSessionExec : ChannelSession
-    {
-        /// <summary>
-        /// Holds channel data stream
-        /// </summary>
-        private Stream _channelData;
-
-        /// <summary>
-        /// Holds channel extended data stream
-        /// </summary>
-        private Stream _channelExtendedData;
-
-        private ChannelAsyncResult _asyncResult;
-
-        private AsyncCallback _callback;
-
-        /// <summary>
-        /// Gets or sets a value indicating whether this channel has error.
-        /// </summary>
-        /// <value><c>true</c> if this instance has error; otherwise, <c>false</c>.</value>
-        public bool HasError { get; set; }
-
-        /// <summary>
-        /// Gets or sets the exit status.
-        /// </summary>
-        /// <value>The exit status.</value>
-        public uint ExitStatus { get; private set; }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="ChannelSessionExec"/> class.
-        /// </summary>
-        public ChannelSessionExec()
-            : base()
-        {
-
-        }
-
-        /// <summary>
-        /// Begins the execute.
-        /// </summary>
-        /// <param name="command">The command.</param>
-        /// <param name="output">The output.</param>
-        /// <param name="extendedOutput">The extended output.</param>
-        /// <param name="callback">The callback.</param>
-        /// <param name="state">The state.</param>
-        /// <returns></returns>
-        internal ChannelAsyncResult BeginExecute(string command, Stream output, Stream extendedOutput, AsyncCallback callback, object state)
-        {
-            //  Prevent from executing BeginExecute before calling EndExecute
-            if (this._asyncResult != null)
-            {
-                throw new InvalidOperationException("");
-            }
-
-            //  Create new AsyncResult object
-            this._asyncResult = new ChannelAsyncResult(this)
-            {
-                AsyncWaitHandle = new EventWaitHandle(false, EventResetMode.ManualReset),
-                IsCompleted = false,
-                AsyncState = state,
-            };
-
-            this._callback = callback;
-            this._channelData = output;
-            this._channelExtendedData = extendedOutput;
-
-            this.Open();
-
-            //  Send channel command request
-            this.SendExecRequest(command);
-
-            return _asyncResult;
-        }
-
-        /// <summary>
-        /// Ends the execute.
-        /// </summary>
-        /// <param name="result">The result.</param>
-        internal void EndExecute(IAsyncResult result)
-        {
-            ChannelAsyncResult channelAsyncResult = result as ChannelAsyncResult;
-
-            if (channelAsyncResult.Channel != this)
-            {
-                throw new InvalidOperationException("Invalid IAsyncResult parameter");
-            }
-
-            //  Make sure that operation completed if not wait for it to finish
-            this.WaitHandle(this._asyncResult.AsyncWaitHandle);
-
-            this.Close();
-
-            this._asyncResult = null;
-        }
-
-        /// <summary>
-        /// Called when channel is closed
-        /// </summary>
-        protected override void OnClose()
-        {
-            base.OnClose();
-
-            if (this._channelData != null)
-            {
-                this._channelData.Flush();
-            }
-
-            if (this._channelExtendedData != null)
-            {
-                this._channelExtendedData.Flush();
-            }
-
-            this._asyncResult.IsCompleted = true;
-            if (this._callback != null)
-            {
-                //  TODO:   Execute this method on different thread since it will be run on message listener
-                this._callback(this._asyncResult);
-            }
-            ((EventWaitHandle)_asyncResult.AsyncWaitHandle).Set();
-        }
-
-        /// <summary>
-        /// Called when channel receives data.
-        /// </summary>
-        /// <param name="data">The data.</param>
-        protected override void OnData(string data)
-        {
-            base.OnData(data);
-
-            if (this._channelData != null)
-            {
-                foreach (var b in data)
-                {
-                    this._channelData.WriteByte((byte)b);
-                }
-            }
-
-            if (this._asyncResult != null)
-            {
-                this._asyncResult.BytesReceived += data.Length;
-            }
-        }
-
-        /// <summary>
-        /// Called when channel receives extended data.
-        /// </summary>
-        /// <param name="data">The data.</param>
-        /// <param name="dataTypeCode">The data type code.</param>
-        protected override void OnExtendedData(string data, uint dataTypeCode)
-        {
-            base.OnExtendedData(data, dataTypeCode);
-
-            if (this._channelExtendedData != null)
-            {
-                this._channelExtendedData.Write(data.GetSshBytes().ToArray(), 0, data.Length);
-                //foreach (var b in data)
-                //{
-                //    this._channelExtendedData.WriteByte((byte)b);
-                //}
-            }
-
-            if (dataTypeCode == 1)
-            {
-                this.HasError = true;
-            }
-        }
-
-        /// <summary>
-        /// Called when channel request command is called.
-        /// </summary>
-        /// <param name="requestName">Name of the request.</param>
-        /// <param name="wantReply">if set to <c>true</c> then need to send reply to server.</param>
-        /// <param name="command">The command.</param>
-        /// <param name="subsystemName">Name of the subsystem.</param>
-        /// <param name="exitStatus">The exit status.</param>
-        protected override void OnRequest(RequestInfo info)
-        {
-            base.OnRequest(info);
-
-            Message replyMessage = new ChannelFailureMessage()
-            {
-                LocalChannelNumber = this.LocalChannelNumber,
-            };
-
-            if (info is ExitStatusRequestInfo)
-            {
-                ExitStatusRequestInfo exitStatusInfo = info as ExitStatusRequestInfo;
-
-                this.ExitStatus = exitStatusInfo.ExitStatus;
-
-                replyMessage = new ChannelSuccessMessage()
-                {
-                    LocalChannelNumber = this.LocalChannelNumber,
-                };
-            }
-
-            if (info.WantReply)
-            {
-                this.SendMessage(replyMessage);
-            }
-        }
-
-        /// <summary>
-        /// Called when object is being disposed.
-        /// </summary>
-        protected override void OnDisposing()
-        {
-        }
-    }
-}

+ 0 - 580
Renci.SshClient/Renci.SshClient/Channels/ChannelSessionSftp.cs

@@ -1,580 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading;
-using Renci.SshClient.Common;
-using Renci.SshClient.Messages.Sftp;
-
-namespace Renci.SshClient.Channels
-{
-    //  TODO:   Add Begin* and End* methods for async calls
-
-    internal class ChannelSessionSftp : ChannelSession
-    {
-        private EventWaitHandle _channelRequestSuccessWaitHandle = new AutoResetEvent(false);
-
-        private EventWaitHandle _responseMessageReceivedWaitHandle = new EventWaitHandle(false, EventResetMode.ManualReset);
-
-        private uint _requestId;
-
-        private SftpMessage _responseMessage;
-
-        private string _remoteCurrentDir;
-
-        private string _localCurentDir;
-
-        private StringBuilder _packetData;
-
-        //  TODO:   Repalce with SFTP specific async class if needed
-        private CommandAsyncResult _asyncResult;
-
-        public ChannelSessionSftp()
-            : base()
-        {
-
-        }
-
-        public override void Open()
-        {
-            base.Open();
-
-            //  Send channel command request
-            this.SendSubsystemRequest("sftp");
-
-            this.WaitHandle(this._channelRequestSuccessWaitHandle);
-
-            this.SendMessage(new InitMessage
-            {
-                Version = 3,
-            });
-
-            var versionMessage = this.ReceiveMessage<VersionMessage>();
-
-            if (versionMessage == null)
-            {
-                throw new InvalidOperationException("Version message expected.");
-            }
-
-            if (versionMessage.Version != 3)
-            {
-                throw new NotSupportedException(string.Format("Server SFTP version {0} is not supported.", versionMessage.Version));
-            }
-
-            //  Get default current directories
-            var files = this.GetRealPath(".");
-
-            this._remoteCurrentDir = files.First().Name;
-            this._localCurentDir = Directory.GetCurrentDirectory();
-        }
-
-        public void UploadFile(Stream source, string destination)
-        {
-            this.Open();
-
-            string handle = string.Empty;
-
-            try
-            {
-                handle = this.OpenRemoteFile(destination, Flags.Write | Flags.CreateNewOrOpen | Flags.Truncate);
-
-                var buffer = new byte[1024];
-                ulong offset = 0;
-                var bytesRead = 0;
-                while ((bytesRead = source.Read(buffer, 0, buffer.Length)) > 0)
-                {
-                    this.RemoteWrite(handle, offset, buffer.Take(bytesRead).GetSshString());
-                    offset += (ulong)buffer.Length;
-                }
-            }
-            finally
-            {
-                if (!string.IsNullOrEmpty(handle))
-                    this.CloseRemoteHandle(handle);
-            }
-
-            this.Close();
-        }
-
-        internal void DownloadFile(string fileName, Stream destination)
-        {
-            this.Open();
-
-            string handle = string.Empty;
-
-            try
-            {
-                handle = this.OpenRemoteFile(fileName, Flags.Read);
-
-                ulong offset = 0;
-                uint bufferSize = 1024;
-                string data;
-
-                while ((data = this.RemoteRead(handle, offset, bufferSize)) != null)
-                {
-                    var fileData = data.GetSshBytes().ToArray();
-                    destination.Write(fileData, 0, fileData.Length);
-                    destination.Flush();
-                    offset += (ulong)fileData.Length;
-                }
-
-            }
-            finally
-            {
-                if (!string.IsNullOrEmpty(handle))
-                    this.CloseRemoteHandle(handle);
-            }
-
-            this.Close();
-        }
-
-        public void CreateDirectory(string directoryName)
-        {
-            this.Open();
-
-            this.CreateRemoteDirectory(directoryName);
-
-            this.Close();
-        }
-
-        public void RemoveDirectory(string directoryName)
-        {
-            this.Open();
-
-            this.RemoveRemoteDirectory(directoryName);
-
-            this.Close();
-        }
-
-        public void RemoveFile(string fileName)
-        {
-            this.Open();
-
-            this.RemoveRemoteFile(fileName);
-
-            this.Close();
-        }
-
-        public void RenameFile(string oldFileName, string newFileName)
-        {
-            this.Open();
-
-            this.RenameRemoteFile(oldFileName, newFileName);
-
-            this.Close();
-        }
-
-        public IEnumerable<FtpFileInfo> ListDirectory(string path)
-        {
-            //  Open channel
-            this.Open();
-
-            string handle = string.Empty;
-            IEnumerable<FtpFileInfo> files = null;
-
-            try
-            {
-                //  Open directory
-                handle = this.OpenRemoteDirectory(path);
-
-                //  Read directory data
-                files = this.ReadRemoteDirectory(handle);
-            }
-            finally
-            {
-                //  Close directory
-                if (!string.IsNullOrEmpty(handle))
-                    this.CloseRemoteHandle(handle);
-            }
-
-            //  Read directory
-            this.Close();
-
-            return files;
-
-        }
-
-        protected override void OnSuccess()
-        {
-            base.OnSuccess();
-
-            this._channelRequestSuccessWaitHandle.Set();
-        }
-
-
-        protected override void OnData(string data)
-        {
-            base.OnData(data);
-
-            if (this._packetData == null)
-            {
-                var packetLength = (uint)(data[0] << 24 | data[1] << 16 | data[2] << 8 | data[3]);
-
-                this._packetData = new StringBuilder((int)packetLength, (int)packetLength);
-                this._packetData.Append(data.GetSshBytes().Skip(4).GetSshString());
-            }
-            else
-            {
-                this._packetData.Append(data);
-            }
-
-            if (this._packetData.Length < this._packetData.MaxCapacity)
-            {
-                //  Wait for more packet data
-                return;
-            }
-
-
-            dynamic sftpMessage = SftpMessage.Load(this._packetData.ToString().GetSshBytes());
-
-            this._packetData = null;
-
-            if (sftpMessage.RequestId != null)
-            {
-                if (sftpMessage.RequestId != this._requestId)
-                {
-                    throw new InvalidOperationException("Invalid request id.");
-                }
-
-                this._requestId++;
-            }
-
-            this._responseMessage = sftpMessage;
-
-            this._responseMessageReceivedWaitHandle.Set();
-        }
-
-        private T ReceiveMessage<T>() where T : SftpMessage
-        {
-            var message = this.ReceiveMessage() as T;
-
-            if (message == null)
-            {
-                throw new InvalidOperationException(string.Format("Message of type '{0}' expected in this context.", typeof(T).Name));
-            }
-            return message;
-
-        }
-
-        private SftpMessage ReceiveMessage()
-        {
-            this.WaitHandle(this._responseMessageReceivedWaitHandle);
-
-            var statusMessage = this._responseMessage as StatusMessage;
-
-            if (statusMessage != null)
-            {
-                //  Handle error status messages
-                switch (statusMessage.StatusCode)
-                {
-                    case StatusCodes.Ok:
-                        break;
-                    case StatusCodes.Eof:
-                        break;
-                    case StatusCodes.NoSuchFile:
-                        throw new FileNotFoundException("File or directory not found on the remote server.");
-                    case StatusCodes.PermissionDenied:
-                        throw new NotImplementedException();
-                    case StatusCodes.Failure:
-                        throw new InvalidOperationException("Operation failed.");
-                    case StatusCodes.BadMessage:
-                        throw new NotImplementedException();
-                    case StatusCodes.NoConnection:
-                        throw new NotImplementedException();
-                    case StatusCodes.ConnectionLost:
-                        throw new NotImplementedException();
-                    case StatusCodes.OperationUnsupported:
-                        throw new NotSupportedException("Operation is not supported.");
-                    default:
-                        break;
-                }
-            }
-
-            return this._responseMessage;
-        }
-
-        private void SendMessage(SftpMessage sftpMessage)
-        {
-            sftpMessage.RequestId = this._requestId;
-            var message = new SftpDataMessage
-            {
-                LocalChannelNumber = this.RemoteChannelNumber,
-                Message = sftpMessage,
-            };
-
-            this.SendMessage(message);
-
-            this._responseMessageReceivedWaitHandle.Reset();
-        }
-
-        private string OpenRemoteFile(string fileName, Flags flags)
-        {
-            this.SendMessage(new OpenMessage
-            {
-                Filename = fileName,
-                Flags = flags,
-            });
-
-            var handleMessage = this.ReceiveMessage<HandleMessage>();
-
-            return handleMessage.Handle;
-        }
-
-        private string RemoteRead(string handle, ulong offset, uint length)
-        {
-            this.SendMessage(new ReadMessage
-            {
-                Handle = handle,
-                Offset = offset,
-                Length = length,
-            });
-
-            var message = this.ReceiveMessage();
-
-            var statusMessage = message as StatusMessage;
-            var dataMessage = message as DataMessage;
-
-            if (statusMessage != null)
-            {
-                if (statusMessage.StatusCode == StatusCodes.Eof)
-                {
-                    return null;
-                }
-
-                throw new InvalidOperationException("Invalid status code.");
-            }
-            else if (dataMessage != null)
-            {
-                if (this._asyncResult != null)
-                {
-                    this._asyncResult.BytesReceived += dataMessage.Data.Length;
-                }
-                return dataMessage.Data;
-            }
-            else
-            {
-                throw new InvalidOperationException(string.Format("Message type '{0}' is not valid in this context.", message.SftpMessageType));
-            }
-        }
-
-        private void RemoteWrite(string handle, ulong offset, string data)
-        {
-            this.SendMessage(new WriteMessage
-            {
-                Handle = handle,
-                Offset = offset,
-                Data = data,
-            });
-
-            var message = this.ReceiveMessage<StatusMessage>();
-
-            this.EnsureStatusCode(message, StatusCodes.Ok);
-
-            if (this._asyncResult != null)
-            {
-                this._asyncResult.BytesSent += data.Length;
-            }
-
-        }
-
-        private void RemoveRemoteFile(string fileName)
-        {
-            this.SendMessage(new RemoveMessage
-            {
-                Filename = fileName,
-            });
-
-            var message = this.ReceiveMessage<StatusMessage>();
-
-            this.EnsureStatusCode(message, StatusCodes.Ok);
-        }
-
-        private void RenameRemoteFile(string oldFileName, string newFileName)
-        {
-            this.SendMessage(new RenameMessage
-            {
-                OldPath = oldFileName,
-                NewPath = newFileName,
-            });
-
-            var message = this.ReceiveMessage<StatusMessage>();
-
-            this.EnsureStatusCode(message, StatusCodes.Ok);
-        }
-
-        private void CreateRemoteDirectory(string directoryName)
-        {
-            this.SendMessage(new MkDirMessage
-            {
-                Path = directoryName,
-            });
-
-            var message = this.ReceiveMessage<StatusMessage>();
-
-            this.EnsureStatusCode(message, StatusCodes.Ok);
-        }
-
-        private void RemoveRemoteDirectory(string directoryName)
-        {
-            this.SendMessage(new RmDirMessage
-            {
-                Path = directoryName,
-            });
-
-            var message = this.ReceiveMessage<StatusMessage>();
-
-            this.EnsureStatusCode(message, StatusCodes.Ok);
-        }
-
-        private string OpenRemoteDirectory(string path)
-        {
-            this.SendMessage(new OpenDirMessage
-            {
-                Path = path,
-            });
-
-            var handleMessage = this.ReceiveMessage<HandleMessage>();
-
-            return handleMessage.Handle;
-        }
-
-        private IEnumerable<FtpFileInfo> ReadRemoteDirectory(string handle)
-        {
-            this.SendMessage(new ReadDirMessage
-            {
-                Handle = handle,
-            });
-
-            var message = this.ReceiveMessage<NameMessage>();
-
-            return message.Files;
-        }
-
-        private void CloseRemoteHandle(string handle)
-        {
-            this.SendMessage(new CloseMessage
-            {
-                Handle = handle,
-            });
-
-            var status = this.ReceiveMessage<StatusMessage>();
-            var attempts = 0;
-            //  If close fails wait a litle a try to close it again, in case server flushed data into the file during close
-            while (status.StatusCode != StatusCodes.Ok && attempts++ < this.ConnectionInfo.RetryAttempts)
-            {
-                Thread.Sleep(50);
-                status = this.ReceiveMessage<StatusMessage>();
-            }
-
-            if (status.StatusCode != StatusCodes.Ok)
-            {
-                throw new InvalidOperationException(string.Format("File handle cannot be closed after {0} attempts.", attempts));
-            }
-        }
-
-        private Attributes GetRemoteFileAttributes(string filename)
-        {
-            this.SendMessage(new StatMessage
-            {
-                Path = filename,
-            });
-
-            var message = this.ReceiveMessage<AttrsMessage>();
-
-            return message.Attributes;
-        }
-
-        private Attributes GetRemoteLinkFileAttributes(string filename)
-        {
-            this.SendMessage(new LStatMessage
-            {
-                Path = filename,
-            });
-
-            var message = this.ReceiveMessage<AttrsMessage>();
-
-            return message.Attributes;
-        }
-
-        private Attributes GetRemoteOpenFileAttributes(string handle)
-        {
-            this.SendMessage(new FStatMessage
-            {
-                Handle = handle,
-            });
-
-            var message = this.ReceiveMessage<AttrsMessage>();
-
-            return message.Attributes;
-        }
-
-        private void SetRemoteFileAttributes(string filename, Attributes attributes)
-        {
-            this.SendMessage(new SetStatMessage
-            {
-                Path = filename,
-                Attributes = attributes
-            });
-
-            var message = this.ReceiveMessage<StatusMessage>();
-
-            this.EnsureStatusCode(message, StatusCodes.Ok);
-        }
-
-        private void SetRemoteOpenFileAttributes(string handle, Attributes attributes)
-        {
-            this.SendMessage(new FSetStatMessage
-            {
-                Handle = handle,
-                Attributes = attributes
-            });
-
-            var message = this.ReceiveMessage<StatusMessage>();
-
-            this.EnsureStatusCode(message, StatusCodes.Ok);
-        }
-
-        private IEnumerable<FtpFileInfo> GetRealPath(string path)
-        {
-            this.SendMessage(new RealPathMessage
-            {
-                Path = path,
-            });
-
-            var message = this.ReceiveMessage<NameMessage>();
-
-            return message.Files;
-
-        }
-
-        private void EnsureStatusCode(StatusMessage message, StatusCodes code)
-        {
-            if (message.StatusCode == code)
-            {
-                return;
-            }
-            else
-            {
-                throw new InvalidOperationException("Invalid status code.");
-            }
-        }
-
-        #region IDisposable Members
-
-        protected override void OnDisposing()
-        {
-            // Dispose managed resources.
-            if (this._channelRequestSuccessWaitHandle != null)
-            {
-                this._channelRequestSuccessWaitHandle.Dispose();
-            }
-            if (this._responseMessageReceivedWaitHandle != null)
-            {
-                this._responseMessageReceivedWaitHandle.Dispose();
-            }
-        }
-
-        #endregion
-    }
-}

+ 0 - 99
Renci.SshClient/Renci.SshClient/Channels/ChannelSessionShell.cs

@@ -1,99 +0,0 @@
-using System.IO;
-using System.Linq;
-using System.Threading;
-using Renci.SshClient.Messages.Connection;
-
-namespace Renci.SshClient.Channels
-{
-    internal class ChannelSessionShell : ChannelSession
-    {
-
-        private EventWaitHandle _success = new AutoResetEvent(false);
-
-        /// <summary>
-        /// Holds channel data stream
-        /// </summary>
-        private Stream _channelData;
-
-        /// <summary>
-        /// Holds channel extended data stream
-        /// </summary>
-        private Stream _channelExtendedData;
-
-        public void Start(Stream output, Stream extendedOutput)
-        {
-            this.Open();
-
-            this._channelData = output;
-            this._channelExtendedData = extendedOutput;
-
-            this.SendPseudoTerminalRequest("xterm", 80, 24, 640, 240, "");
-
-            _success.WaitOne();
-
-            this.SendShellRequest();
-        }
-
-        public void Stop()
-        {
-            //  Close channel
-            this.Close();
-        }
-
-        protected override void OnSuccess()
-        {
-            base.OnSuccess();
-
-            _success.Set();
-        }
-
-        protected override void OnFailure()
-        {
-            base.OnFailure();
-        }
-
-        protected override void OnData(string data)
-        {
-            base.OnData(data);
-
-            this._channelData.Write(data.GetSshBytes().ToArray(), 0, data.Length);
-            this._channelData.Flush();
-        }
-
-        protected override void OnExtendedData(string data, uint dataTypeCode)
-        {
-            base.OnExtendedData(data, dataTypeCode);
-
-            //  TODO:   dataTypeCode is not handled
-            this._channelExtendedData.Write(data.GetSshBytes().ToArray(), 0, data.Length);
-            this._channelExtendedData.Flush();
-        }
-
-        public void Send(string data)
-        {
-            this.SendMessage(new ChannelDataMessage
-            {
-                LocalChannelNumber = this.RemoteChannelNumber,
-                Data = data,
-            });
-        }
-
-        public class ShellStream : MemoryStream
-        {
-            public ShellStream()
-            {
-
-            }
-
-            public override void Write(byte[] buffer, int offset, int count)
-            {
-                base.Write(buffer, offset, count);
-            }
-
-            public override void WriteByte(byte value)
-            {
-                base.WriteByte(value);
-            }
-        }
-    }
-}

+ 0 - 158
Renci.SshClient/Renci.SshClient/Common/BlockingStack.cs

@@ -1,158 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using System.Threading;
-
-namespace Renci.SshClient.Common
-{
-    public class BlockingStack<T> : IEnumerable<T>, ICollection, IEnumerable
-    {
-        private Stack<T> _stack;
-
-        public BlockingStack()
-        {
-            this._stack = new Stack<T>();
-        }
-
-        public BlockingStack(IEnumerable<T> collection)
-        {
-            this._stack = new Stack<T>(collection);
-        }
-
-        public BlockingStack(int capacity)
-        {
-            this._stack = new Stack<T>(capacity);
-        }
-
-        // Summary:
-        //     Gets the number of elements contained in the System.Collections.Generic.Stack<T>.
-        //
-        // Returns:
-        //     The number of elements contained in the System.Collections.Generic.Stack<T>.
-        public int Count
-        {
-            get
-            {
-                return this._stack.Count;
-            }
-        }
-
-        public void Clear()
-        {
-            lock (this)
-            {
-                this._stack.Clear();
-                Monitor.PulseAll(this);
-            }
-        }
-
-        public bool Contains(T item)
-        {
-            return this._stack.Contains(item);
-        }
-
-        public void CopyTo(T[] array, int arrayIndex)
-        {
-            lock (this)
-            {
-                this._stack.CopyTo(array, arrayIndex);
-                Monitor.PulseAll(this);
-            }
-        }
-
-        public T Peek()
-        {
-            return this._stack.Peek();
-        }
-
-        public T Pop()
-        {
-            lock (this)
-            {
-                var result = this._stack.Pop();
-                Monitor.PulseAll(this);
-                return result;
-            }
-        }
-
-        public T WaitAndPop()
-        {
-            lock (this)
-            {
-                //  Wait for item to be added to the stack
-                while (this._stack.Count == 0)
-                {
-                    Monitor.Wait(this);
-                }
-                var result = this._stack.Pop();
-                Monitor.PulseAll(this);
-                return result;
-            }
-        }
-
-        public void Push(T item)
-        {
-            lock (this)
-            {
-                this._stack.Push(item);
-                Monitor.PulseAll(this);
-            }
-        }
-
-        public T[] ToArray()
-        {
-            lock (this)
-            {
-                var result = this._stack.ToArray();
-                Monitor.PulseAll(this);
-                return result;
-            }
-        }
-
-        public void TrimExcess()
-        {
-            lock (this)
-            {
-                this._stack.TrimExcess();
-                Monitor.PulseAll(this);
-            }
-        }
-
-        #region ICollection Members
-
-        public void CopyTo(System.Array array, int index)
-        {
-            throw new System.NotImplementedException();
-        }
-
-        public bool IsSynchronized
-        {
-            get { return true; }
-        }
-
-        public object SyncRoot
-        {
-            get { return this; }
-        }
-
-        #endregion
-
-
-        #region IEnumerable<T> Members
-
-        public IEnumerator<T> GetEnumerator()
-        {
-            return this._stack.GetEnumerator();
-        }
-
-        #endregion
-
-        #region IEnumerable Members
-
-        IEnumerator IEnumerable.GetEnumerator()
-        {
-            return this._stack.GetEnumerator();
-        }
-
-        #endregion
-    }
-}

+ 0 - 54
Renci.SshClient/Renci.SshClient/Common/ConnectingEventArgs.cs

@@ -1,54 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace Renci.SshClient.Common
-{
-    public class ConnectingEventArgs : EventArgs
-    {
-        public IDictionary<string, string> KeyExchangeAlgorithms { get; private set; }
-
-        public IDictionary<string, string> Encryptions { get; private set; }
-
-        public IDictionary<string, string> HmacAlgorithms { get; private set; }
-
-        public IDictionary<string, string> HostKeyAlgorithms { get; private set; }
-
-        public IDictionary<string, string> SupportedAuthenticationMethods { get; private set; }
-
-        public IDictionary<string, string> CompressionAlgorithms { get; private set; }
-
-        public string Host { get; set; }
-
-        public int Port { get; set; }
-
-        public string Username { get; set; }
-
-        public string Password { get; set; }
-
-        public ICollection<PrivateKeyFile> KeyFiles { get; set; }
-
-        public TimeSpan Timeout { get; set; }
-
-        public int RetryAttempts { get; set; }
-
-        public int MaxSessions { get; set; }
-
-        public ConnectingEventArgs(
-            IDictionary<string, string> keyExchangeAlgorithms,
-            IDictionary<string, string> encryptions,
-            IDictionary<string, string> hmacAlgorithms,
-            IDictionary<string, string> hostKeyAlgorithms,
-            IDictionary<string, string> supportedAuthenticationMethods,
-            IDictionary<string, string> compressionAlgorithms)
-        {
-            this.KeyExchangeAlgorithms = keyExchangeAlgorithms;
-            this.Encryptions = encryptions;
-            this.HmacAlgorithms = hmacAlgorithms;
-            this.HostKeyAlgorithms = hostKeyAlgorithms;
-            this.SupportedAuthenticationMethods = supportedAuthenticationMethods;
-            this.CompressionAlgorithms = compressionAlgorithms;
-        }
-    }
-}

+ 0 - 14
Renci.SshClient/Renci.SshClient/Common/DataReceivedEventArgs.cs

@@ -1,14 +0,0 @@
-using System;
-
-namespace Renci.SshClient.Common
-{
-    internal class DataReceivedEventArgs : EventArgs
-    {
-        public string Data { get; private set; }
-
-        public DataReceivedEventArgs(string data)
-        {
-            this.Data = data;
-        }
-    }
-}

+ 0 - 29
Renci.SshClient/Renci.SshClient/Common/FtpFileInfo.cs

@@ -1,29 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-namespace Renci.SshClient.Common
-{
-    public class FtpFileInfo
-    {
-        public string Name { get; set; }
-
-        public string FullName { get; set; }
-
-        public DateTime? CreationTime { get; set; }
-
-        public DateTime? LastAccessTime { get; set; }
-
-        public DateTime? LastModifyTime { get; set; }
-
-        public ulong? Size { get; set; }
-
-        public uint? UserId { get; set; }
-
-        public uint? GroupId { get; set; }
-
-        public uint? Permissions { get; set; }
-
-        public IDictionary<string, string> Extentions { get; set; }
-
-    }
-}

+ 0 - 15
Renci.SshClient/Renci.SshClient/Common/MessageReceivedEventArgs.cs

@@ -1,15 +0,0 @@
-using System;
-using Renci.SshClient.Messages;
-
-namespace Renci.SshClient.Common
-{
-    internal class MessageReceivedEventArgs : EventArgs
-    {
-        public Message Message { get; private set; }
-
-        public MessageReceivedEventArgs(Message message)
-        {
-            this.Message = message;
-        }
-    }
-}

+ 0 - 96
Renci.SshClient/Renci.SshClient/Connection.cs

@@ -1,96 +0,0 @@
-namespace Renci.SshClient
-{
-    public class Connection
-    {
-        private Session _session;
-
-        public ConnectionInfo ConnectionInfo { get; private set; }
-
-        private Shell _shell;
-        public Shell Shell
-        {
-            get
-            {
-                if (this._shell == null)
-                {
-                    this._shell = new Shell(this._session);
-                }
-                return this._shell;
-            }
-        }
-
-        private Sftp _sftp;
-
-        public Sftp Sftp
-        {
-            get
-            {
-                if (this._sftp == null)
-                {
-                    this._sftp = new Sftp(this._session);
-                }
-                return this._sftp;
-            }
-        }
-
-
-        public Connection(ConnectionInfo connectionInfo)
-        {
-            this.ConnectionInfo = connectionInfo;
-            this._session = Session.CreateSession(this.ConnectionInfo);
-        }
-
-        public Connection(string host, int port, string username, string password)
-            : this(new ConnectionInfo
-            {
-                Host = host,
-                Port = port,
-                Username = username,
-                Password = password,
-            })
-        {
-        }
-
-        public Connection(string host, string username, string password)
-            : this(new ConnectionInfo
-            {
-                Host = host,
-                Username = username,
-                Password = password,
-            })
-        {
-        }
-
-        public Connection(string host, int port, string username, PrivateKeyFile keyFile)
-            : this(new ConnectionInfo
-            {
-                Host = host,
-                Port = port,
-                Username = username,
-                KeyFile = keyFile,
-            })
-        {
-        }
-
-        public Connection(string host, string username, PrivateKeyFile keyFile)
-            : this(new ConnectionInfo
-            {
-                Host = host,
-                Username = username,
-                KeyFile = keyFile,
-            })
-        {
-        }
-
-
-        public void Connect()
-        {
-            this._session.Connect();
-        }
-
-        public void Disconnect()
-        {
-            this._session.Disconnect();
-        }
-    }
-}

+ 0 - 96
Renci.SshClient/Renci.SshClient/Documentation/Content/Extensibility.AddAuthenticationMethod.aml

@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<topic id="ec6dd28e-c788-4812-89ae-53a26420e50b" revisionNumber="1">
-  <developerWalkthroughDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <!--
-    <summary>
-      <para>Optional summary abstract</para>
-    </summary>
-    -->
-    <introduction>
-      <!-- Uncomment this to generate an outline of the section and sub-section
-           titles.  Specify a numeric value as the inner text to limit it to
-           a specific number of sub-topics when creating the outline.  Specify
-           zero (0) to limit it to top-level sections only.  -->
-      <!-- <autoOutline /> -->
-      <para>Required introduction</para>
-    </introduction>
-    <!-- <prerequisites><content>Optional prerequisites info</content></prerequisites> -->
-    <!-- One or more procedure or section with procedure -->
-    <procedure>
-      <title>Procedure title</title>
-      <steps class="ordered">
-        <step>
-          <content>
-            <para>First step</para>
-          </content>
-        </step>
-        <step>
-          <content>
-            <para>Second step</para>
-          </content>
-        </step>
-      </steps>
-      <!-- <conclusion>Optional conclusion</conclusion> -->
-    </procedure>
-    <!-- Optional additional procedure or section with procedure -->
-    <section address="Section1">
-      <title>Optional section title</title>
-      <content>
-        <procedure>
-          <title>Procedure #2</title>
-          <steps class="ordered">
-            <step>
-              <content>
-                <para>First step</para>
-              </content>
-            </step>
-            <step>
-              <content>
-                <para>Second step</para>
-              </content>
-            </step>
-          </steps>
-          <!-- <conclusion>Optional conclusion</conclusion> -->
-        </procedure>
-      </content>
-    </section>
-    <!-- Optional next steps info
-    <nextSteps>
-      <content><para>Next steps info goes here</para></content>
-    </nextSteps>
-    -->
-    <relatedTopics>
-      <!-- One or more of the following:
-           - A local link
-           - An external link
-           - A code entity reference
-
-      <link xlink:href="Other Topic's ID">Link text</link>
-      <externalLink>
-          <linkText>Link text</linkText>
-          <linkAlternateText>Optional alternate link text</linkAlternateText>
-          <linkUri>URI</linkUri>
-      </externalLink>
-      <codeEntityReference>API member ID</codeEntityReference>
-
-      Examples:
-
-      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8278">Some other topic</link>
-
-      <externalLink>
-          <linkText>SHFB on CodePlex</linkText>
-          <linkAlternateText>Go to CodePlex</linkAlternateText>
-          <linkUri>http://shfb.codeplex.com</linkUri>
-      </externalLink>
-
-      <codeEntityReference>T:TestDoc.TestClass</codeEntityReference>
-      <codeEntityReference>P:TestDoc.TestClass.SomeProperty</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.#ctor</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.#ctor(System.String,System.Int32)</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.ToString</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.FirstMethod</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.SecondMethod(System.Int32,System.String)</codeEntityReference>
-      -->
-    </relatedTopics>
-  </developerWalkthroughDocument>
-</topic>

+ 0 - 96
Renci.SshClient/Renci.SshClient/Documentation/Content/Extensibility.AddEncryption.aml

@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<topic id="2c568137-b080-45b0-86d0-cd157e9d0604" revisionNumber="1">
-  <developerWalkthroughDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <!--
-    <summary>
-      <para>Optional summary abstract</para>
-    </summary>
-    -->
-    <introduction>
-      <!-- Uncomment this to generate an outline of the section and sub-section
-           titles.  Specify a numeric value as the inner text to limit it to
-           a specific number of sub-topics when creating the outline.  Specify
-           zero (0) to limit it to top-level sections only.  -->
-      <!-- <autoOutline /> -->
-      <para>Required introduction</para>
-    </introduction>
-    <!-- <prerequisites><content>Optional prerequisites info</content></prerequisites> -->
-    <!-- One or more procedure or section with procedure -->
-    <procedure>
-      <title>Procedure title</title>
-      <steps class="ordered">
-        <step>
-          <content>
-            <para>First step</para>
-          </content>
-        </step>
-        <step>
-          <content>
-            <para>Second step</para>
-          </content>
-        </step>
-      </steps>
-      <!-- <conclusion>Optional conclusion</conclusion> -->
-    </procedure>
-    <!-- Optional additional procedure or section with procedure -->
-    <section address="Section1">
-      <title>Optional section title</title>
-      <content>
-        <procedure>
-          <title>Procedure #2</title>
-          <steps class="ordered">
-            <step>
-              <content>
-                <para>First step</para>
-              </content>
-            </step>
-            <step>
-              <content>
-                <para>Second step</para>
-              </content>
-            </step>
-          </steps>
-          <!-- <conclusion>Optional conclusion</conclusion> -->
-        </procedure>
-      </content>
-    </section>
-    <!-- Optional next steps info
-    <nextSteps>
-      <content><para>Next steps info goes here</para></content>
-    </nextSteps>
-    -->
-    <relatedTopics>
-      <!-- One or more of the following:
-           - A local link
-           - An external link
-           - A code entity reference
-
-      <link xlink:href="Other Topic's ID">Link text</link>
-      <externalLink>
-          <linkText>Link text</linkText>
-          <linkAlternateText>Optional alternate link text</linkAlternateText>
-          <linkUri>URI</linkUri>
-      </externalLink>
-      <codeEntityReference>API member ID</codeEntityReference>
-
-      Examples:
-
-      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8278">Some other topic</link>
-
-      <externalLink>
-          <linkText>SHFB on CodePlex</linkText>
-          <linkAlternateText>Go to CodePlex</linkAlternateText>
-          <linkUri>http://shfb.codeplex.com</linkUri>
-      </externalLink>
-
-      <codeEntityReference>T:TestDoc.TestClass</codeEntityReference>
-      <codeEntityReference>P:TestDoc.TestClass.SomeProperty</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.#ctor</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.#ctor(System.String,System.Int32)</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.ToString</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.FirstMethod</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.SecondMethod(System.Int32,System.String)</codeEntityReference>
-      -->
-    </relatedTopics>
-  </developerWalkthroughDocument>
-</topic>

+ 0 - 96
Renci.SshClient/Renci.SshClient/Documentation/Content/Extensibility.AddHashAlgorithm.aml

@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<topic id="ea611b0c-8312-433b-88b1-d64a7222566b" revisionNumber="1">
-  <developerWalkthroughDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <!--
-    <summary>
-      <para>Optional summary abstract</para>
-    </summary>
-    -->
-    <introduction>
-      <!-- Uncomment this to generate an outline of the section and sub-section
-           titles.  Specify a numeric value as the inner text to limit it to
-           a specific number of sub-topics when creating the outline.  Specify
-           zero (0) to limit it to top-level sections only.  -->
-      <!-- <autoOutline /> -->
-      <para>Required introduction</para>
-    </introduction>
-    <!-- <prerequisites><content>Optional prerequisites info</content></prerequisites> -->
-    <!-- One or more procedure or section with procedure -->
-    <procedure>
-      <title>Procedure title</title>
-      <steps class="ordered">
-        <step>
-          <content>
-            <para>First step</para>
-          </content>
-        </step>
-        <step>
-          <content>
-            <para>Second step</para>
-          </content>
-        </step>
-      </steps>
-      <!-- <conclusion>Optional conclusion</conclusion> -->
-    </procedure>
-    <!-- Optional additional procedure or section with procedure -->
-    <section address="Section1">
-      <title>Optional section title</title>
-      <content>
-        <procedure>
-          <title>Procedure #2</title>
-          <steps class="ordered">
-            <step>
-              <content>
-                <para>First step</para>
-              </content>
-            </step>
-            <step>
-              <content>
-                <para>Second step</para>
-              </content>
-            </step>
-          </steps>
-          <!-- <conclusion>Optional conclusion</conclusion> -->
-        </procedure>
-      </content>
-    </section>
-    <!-- Optional next steps info
-    <nextSteps>
-      <content><para>Next steps info goes here</para></content>
-    </nextSteps>
-    -->
-    <relatedTopics>
-      <!-- One or more of the following:
-           - A local link
-           - An external link
-           - A code entity reference
-
-      <link xlink:href="Other Topic's ID">Link text</link>
-      <externalLink>
-          <linkText>Link text</linkText>
-          <linkAlternateText>Optional alternate link text</linkAlternateText>
-          <linkUri>URI</linkUri>
-      </externalLink>
-      <codeEntityReference>API member ID</codeEntityReference>
-
-      Examples:
-
-      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8278">Some other topic</link>
-
-      <externalLink>
-          <linkText>SHFB on CodePlex</linkText>
-          <linkAlternateText>Go to CodePlex</linkAlternateText>
-          <linkUri>http://shfb.codeplex.com</linkUri>
-      </externalLink>
-
-      <codeEntityReference>T:TestDoc.TestClass</codeEntityReference>
-      <codeEntityReference>P:TestDoc.TestClass.SomeProperty</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.#ctor</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.#ctor(System.String,System.Int32)</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.ToString</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.FirstMethod</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.SecondMethod(System.Int32,System.String)</codeEntityReference>
-      -->
-    </relatedTopics>
-  </developerWalkthroughDocument>
-</topic>

+ 0 - 21
Renci.SshClient/Renci.SshClient/Documentation/Content/Extensibility.aml

@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<topic id="96a68c17-9f73-4c26-816e-bfce16366094" revisionNumber="1">
-  <developerSDKTechnologyOverviewOrientationDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <!--
-    <summary>
-      <para>Optional summary abstract</para>
-    </summary>
-    -->
-    <introduction>
-      <para>Required introduction</para>
-    </introduction>
-    <inThisSection>
-      <content>
-        <para>"In This Section" info</para>
-      </content>
-    </inThisSection>
-    <!-- <reference>Optional reference info</reference> -->
-    <!-- <relatedSections>Optional related sections info</relatedSections> -->
-    <!-- <externalResources>Optional external resources info</externalResources> -->
-  </developerSDKTechnologyOverviewOrientationDocument>
-</topic>

+ 0 - 50
Renci.SshClient/Renci.SshClient/Documentation/Content/HowTo.Sftp.aml

@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<topic id="e9b8aa39-6ebc-4b75-83a5-497a280d77b7" revisionNumber="1">
-  <developerOrientationDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <!--
-    <summary>
-      <para>Optional summary abstract</para>
-    </summary>
-    -->
-    <introduction>
-      <para>Required introduction</para>
-    </introduction>
-    <!-- <inThisSection>Optional description of content in this section</inThisSection> -->
-    <!-- <reference>Optional reference section</reference> -->
-    <!-- <relatedSections>Optional related sections info</relatedSections> -->
-    <!-- <externalResources>Optional external resources section</externalResources> -->
-    <relatedTopics>
-      <!-- One or more of the following:
-           - A local link
-           - An external link
-           - A code entity reference
-
-      <link xlink:href="Other Topic's ID">Link text</link>
-      <externalLink>
-          <linkText>Link text</linkText>
-          <linkAlternateText>Optional alternate link text</linkAlternateText>
-          <linkUri>URI</linkUri>
-      </externalLink>
-      <codeEntityReference>API member ID</codeEntityReference>
-
-      Examples:
-
-      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8278">Some other topic</link>
-
-      <externalLink>
-          <linkText>SHFB on CodePlex</linkText>
-          <linkAlternateText>Go to CodePlex</linkAlternateText>
-          <linkUri>http://shfb.codeplex.com</linkUri>
-      </externalLink>
-
-      <codeEntityReference>T:TestDoc.TestClass</codeEntityReference>
-      <codeEntityReference>P:TestDoc.TestClass.SomeProperty</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.#ctor</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.#ctor(System.String,System.Int32)</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.ToString</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.FirstMethod</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.SecondMethod(System.Int32,System.String)</codeEntityReference>
-      -->
-    </relatedTopics>
-  </developerOrientationDocument>
-</topic>

+ 0 - 68
Renci.SshClient/Renci.SshClient/Documentation/Content/HowTo.SshCommand.Run.aml

@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<topic id="41498c7b-6dcb-46d5-88f5-0b156c08516d" revisionNumber="1">
-  <developerHowToDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <summary>
-      <para>Optional summary abstract</para>
-    </summary>
-    <introduction>
-      <para>Required introduction</para>
-    </introduction>
-    <!-- Optional procedures followed by optional code example but must have
-         at least one procedure or code example -->
-    <procedure>
-      <title>Procedure title</title>
-      <steps class="ordered">
-        <step>
-          <content>
-            <para>First step</para>
-          </content>
-        </step>
-        <step>
-          <content>
-            <para>Second step</para>
-          </content>
-        </step>
-      </steps>
-      <conclusion>Optional conclusion</conclusion>
-    </procedure>
-    <codeExample>Optional code example</codeExample>
-    <!-- <buildInstructions>Optional instructions for building a
-         code example.</buildInstructions> -->
-    <robustProgramming>Optional discussion of error handling and other
-         issues related to writing solid code.</robustProgramming>
-    <security>Optional discussion of security issues.</security>
-    <relatedTopics>
-      <!-- One or more of the following:
-           - A local link
-           - An external link
-           - A code entity reference
-
-      <link xlink:href="Other Topic's ID">Link text</link>
-      <externalLink>
-          <linkText>Link text</linkText>
-          <linkAlternateText>Optional alternate link text</linkAlternateText>
-          <linkUri>URI</linkUri>
-      </externalLink>
-      <codeEntityReference>API member ID</codeEntityReference>
-
-      Examples:
-
-      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8278">Some other topic</link>
-
-      <externalLink>
-          <linkText>SHFB on CodePlex</linkText>
-          <linkAlternateText>Go to CodePlex</linkAlternateText>
-          <linkUri>http://shfb.codeplex.com</linkUri>
-      </externalLink>
-
-      <codeEntityReference>T:TestDoc.TestClass</codeEntityReference>
-      <codeEntityReference>P:TestDoc.TestClass.SomeProperty</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.#ctor</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.#ctor(System.String,System.Int32)</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.ToString</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.FirstMethod</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.SecondMethod(System.Int32,System.String)</codeEntityReference>
-      -->
-    </relatedTopics>
-  </developerHowToDocument>
-</topic>

+ 0 - 50
Renci.SshClient/Renci.SshClient/Documentation/Content/HowTo.SshCommand.aml

@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<topic id="43c9b2df-fd0c-4041-9680-54dc908324db" revisionNumber="1">
-  <developerOrientationDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <!--
-    <summary>
-      <para>Optional summary abstract</para>
-    </summary>
-    -->
-    <introduction>
-      <para>Required introduction</para>
-    </introduction>
-    <!-- <inThisSection>Optional description of content in this section</inThisSection> -->
-    <!-- <reference>Optional reference section</reference> -->
-    <!-- <relatedSections>Optional related sections info</relatedSections> -->
-    <!-- <externalResources>Optional external resources section</externalResources> -->
-    <relatedTopics>
-      <!-- One or more of the following:
-           - A local link
-           - An external link
-           - A code entity reference
-
-      <link xlink:href="Other Topic's ID">Link text</link>
-      <externalLink>
-          <linkText>Link text</linkText>
-          <linkAlternateText>Optional alternate link text</linkAlternateText>
-          <linkUri>URI</linkUri>
-      </externalLink>
-      <codeEntityReference>API member ID</codeEntityReference>
-
-      Examples:
-
-      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8278">Some other topic</link>
-
-      <externalLink>
-          <linkText>SHFB on CodePlex</linkText>
-          <linkAlternateText>Go to CodePlex</linkAlternateText>
-          <linkUri>http://shfb.codeplex.com</linkUri>
-      </externalLink>
-
-      <codeEntityReference>T:TestDoc.TestClass</codeEntityReference>
-      <codeEntityReference>P:TestDoc.TestClass.SomeProperty</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.#ctor</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.#ctor(System.String,System.Int32)</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.ToString</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.FirstMethod</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.SecondMethod(System.Int32,System.String)</codeEntityReference>
-      -->
-    </relatedTopics>
-  </developerOrientationDocument>
-</topic>

+ 0 - 50
Renci.SshClient/Renci.SshClient/Documentation/Content/HowTo.aml

@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<topic id="a07c9037-64e3-4e09-b460-8a68d95c1131" revisionNumber="1">
-  <developerOrientationDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <!--
-    <summary>
-      <para>Optional summary abstract</para>
-    </summary>
-    -->
-    <introduction>
-      <para>Required introduction</para>
-    </introduction>
-    <!-- <inThisSection>Optional description of content in this section</inThisSection> -->
-    <!-- <reference>Optional reference section</reference> -->
-    <!-- <relatedSections>Optional related sections info</relatedSections> -->
-    <!-- <externalResources>Optional external resources section</externalResources> -->
-    <relatedTopics>
-      <!-- One or more of the following:
-           - A local link
-           - An external link
-           - A code entity reference
-
-      <link xlink:href="Other Topic's ID">Link text</link>
-      <externalLink>
-          <linkText>Link text</linkText>
-          <linkAlternateText>Optional alternate link text</linkAlternateText>
-          <linkUri>URI</linkUri>
-      </externalLink>
-      <codeEntityReference>API member ID</codeEntityReference>
-
-      Examples:
-
-      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8278">Some other topic</link>
-
-      <externalLink>
-          <linkText>SHFB on CodePlex</linkText>
-          <linkAlternateText>Go to CodePlex</linkAlternateText>
-          <linkUri>http://shfb.codeplex.com</linkUri>
-      </externalLink>
-
-      <codeEntityReference>T:TestDoc.TestClass</codeEntityReference>
-      <codeEntityReference>P:TestDoc.TestClass.SomeProperty</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.#ctor</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.#ctor(System.String,System.Int32)</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.ToString</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.FirstMethod</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.SecondMethod(System.Int32,System.String)</codeEntityReference>
-      -->
-    </relatedTopics>
-  </developerOrientationDocument>
-</topic>

+ 0 - 48
Renci.SshClient/Renci.SshClient/Documentation/Content/Introduction.aml

@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<topic id="af377286-3f01-4c15-8b79-66aac14561f7" revisionNumber="1">
-  <developerOrientationDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
-    <summary>
-      <para>Optional summary abstract</para>
-    </summary>
-    <introduction>
-      <para>Required introduction</para>
-    </introduction>
-    <inThisSection>Optional description of content in this section</inThisSection>
-    <!-- <reference>Optional reference section</reference> -->
-    <!-- <relatedSections>Optional related sections info</relatedSections> -->
-    <externalResources>Optional external resources section</externalResources>
-    <relatedTopics>
-      <!-- One or more of the following:
-           - A local link
-           - An external link
-           - A code entity reference
-
-      <link xlink:href="Other Topic's ID">Link text</link>
-      <externalLink>
-          <linkText>Link text</linkText>
-          <linkAlternateText>Optional alternate link text</linkAlternateText>
-          <linkUri>URI</linkUri>
-      </externalLink>
-      <codeEntityReference>API member ID</codeEntityReference>
-
-      Examples:
-
-      <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8278">Some other topic</link>
-
-      <externalLink>
-          <linkText>SHFB on CodePlex</linkText>
-          <linkAlternateText>Go to CodePlex</linkAlternateText>
-          <linkUri>http://shfb.codeplex.com</linkUri>
-      </externalLink>
-
-      <codeEntityReference>T:TestDoc.TestClass</codeEntityReference>
-      <codeEntityReference>P:TestDoc.TestClass.SomeProperty</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.#ctor</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.#ctor(System.String,System.Int32)</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.ToString</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.FirstMethod</codeEntityReference>
-      <codeEntityReference>M:TestDoc.TestClass.SecondMethod(System.Int32,System.String)</codeEntityReference>
-      -->
-    </relatedTopics>
-  </developerOrientationDocument>
-</topic>

+ 0 - 10
Renci.SshClient/Renci.SshClient/Messages/Authentication/Methods.cs

@@ -1,10 +0,0 @@
-namespace Renci.SshClient.Messages.Authentication
-{
-    public enum Methods
-    {
-        None,
-        PublicKey,
-        Password,
-        Hostbased
-    }
-}

+ 0 - 33
Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelOpenDirectTcpIPMessage.cs

@@ -1,33 +0,0 @@
-
-namespace Renci.SshClient.Messages.Connection
-{
-    internal class ChannelOpenDirectTcpIPMessage : ChannelOpenMessage
-    {
-        public string HostToConnect { get; private set; }
-
-        public uint PortToConnect { get; private set; }
-
-        public string OriginatorIP { get; private set; }
-
-        public uint OriginatorPort { get; private set; }
-
-        protected override void LoadData()
-        {
-            base.LoadData();
-            this.HostToConnect = this.ReadString();
-            this.PortToConnect = this.ReadUInt32();
-            this.OriginatorIP = this.ReadString();
-            this.OriginatorPort = this.ReadUInt32();
-        }
-
-        protected override void SaveData()
-        {
-            base.SaveData();
-            this.Write(this.HostToConnect);
-            this.Write(this.PortToConnect);
-            this.Write(this.OriginatorIP);
-            this.Write(this.OriginatorPort);
-
-        }
-    }
-}

+ 0 - 30
Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestEnvironmentVariableMessage.cs

@@ -1,30 +0,0 @@
-
-namespace Renci.SshClient.Messages.Connection
-{
-    internal class ChannelRequestEnvironmentVariableMessage : ChannelRequestMessage
-    {
-        public const string REQUEST_NAME = "env";
-
-        public string VariableName { get; set; }
-
-        public string VariableValue { get; set; }
-
-        protected override void LoadData()
-        {
-            base.LoadData();
-
-            this.VariableName = this.ReadString();
-            this.VariableValue = this.ReadString();
-        }
-
-        protected override void SaveData()
-        {
-            this.RequestName = REQUEST_NAME;
-
-            base.SaveData();
-
-            this.Write(this.VariableName);
-            this.Write(this.VariableValue);
-        }
-    }
-}

+ 0 - 26
Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestExecMessage.cs

@@ -1,26 +0,0 @@
-
-namespace Renci.SshClient.Messages.Connection
-{
-    internal class ChannelRequestExecMessage : ChannelRequestMessage
-    {
-        public const string REQUEST_NAME = "exec";
-
-        public string Command { get; set; }
-
-        protected override void LoadData()
-        {
-            base.LoadData();
-
-            this.Command = this.ReadString();
-        }
-
-        protected override void SaveData()
-        {
-            this.RequestName = REQUEST_NAME;
-
-            base.SaveData();
-
-            this.Write(this.Command);
-        }
-    }
-}

+ 0 - 38
Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestExitSignalMessage.cs

@@ -1,38 +0,0 @@
-
-namespace Renci.SshClient.Messages.Connection
-{
-    internal class ChannelRequestExitSignalMessage : ChannelRequestMessage
-    {
-        public const string REQUEST_NAME = "exit-signal";
-
-        public string SignalName { get; set; }
-
-        public bool CoreDumped { get; set; }
-
-        public string ErrorMessage { get; set; }
-
-        public string Language { get; set; }
-
-        protected override void LoadData()
-        {
-            base.LoadData();
-
-            this.SignalName = this.ReadString();
-            this.CoreDumped = this.ReadBoolean();
-            this.ErrorMessage = this.ReadString();
-            this.Language = this.ReadString();
-        }
-
-        protected override void SaveData()
-        {
-            this.RequestName = REQUEST_NAME;
-
-            base.SaveData();
-
-            this.Write(this.SignalName);
-            this.Write(this.CoreDumped);
-            this.Write(this.ErrorMessage);
-            this.Write(this.Language);
-        }
-    }
-}

+ 0 - 23
Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestExitStatusMessage.cs

@@ -1,23 +0,0 @@
-
-namespace Renci.SshClient.Messages.Connection
-{
-    internal class ChannelRequestExitStatusMessage : ChannelRequestMessage
-    {
-        public const string REQUEST_NAME = "exit-status";
-
-        public uint ExitStatus { get; set; }
-
-        protected override void LoadData()
-        {
-            base.LoadData();
-            this.ExitStatus = this.ReadUInt32();
-        }
-
-        protected override void SaveData()
-        {
-            this.RequestName = REQUEST_NAME;
-            base.SaveData();
-            this.Write(this.ExitStatus);
-        }
-    }
-}

+ 0 - 44
Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestPseudoTerminalMessage.cs

@@ -1,44 +0,0 @@
-
-namespace Renci.SshClient.Messages.Connection
-{
-    internal class ChannelRequestPseudoTerminalMessage : ChannelRequestMessage
-    {
-        public const string REQUEST_NAME = "pty-req";
-
-        public string EnvironmentVariable { get; set; }
-
-        public uint Columns { get; set; }
-
-        public uint Rows { get; set; }
-
-        public uint PixelWidth { get; set; }
-
-        public uint PixelHeight { get; set; }
-
-        public string TerminalMode { get; set; }
-
-        protected override void LoadData()
-        {
-            base.LoadData();
-            this.EnvironmentVariable = this.ReadString();
-            this.Columns = this.ReadUInt32();
-            this.Rows = this.ReadUInt32();
-            this.PixelWidth = this.ReadUInt32();
-            this.PixelHeight = this.ReadUInt32();
-            this.TerminalMode = this.ReadString();
-        }
-
-        protected override void SaveData()
-        {
-            this.RequestName = REQUEST_NAME;
-            base.SaveData();
-            this.Write(this.EnvironmentVariable);
-            this.Write(this.Columns);
-            this.Write(this.Rows);
-            this.Write(this.Rows);
-            this.Write(this.PixelHeight);
-            this.Write(this.TerminalMode);
-
-        }
-    }
-}

+ 0 - 19
Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestShellMessage.cs

@@ -1,19 +0,0 @@
-
-namespace Renci.SshClient.Messages.Connection
-{
-    internal class ChannelRequestShellMessage : ChannelRequestMessage
-    {
-        public const string REQUEST_NAME = "shell";
-
-        protected override void LoadData()
-        {
-            base.LoadData();
-        }
-
-        protected override void SaveData()
-        {
-            this.RequestName = REQUEST_NAME;
-            base.SaveData();
-        }
-    }
-}

+ 0 - 26
Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestSignalMessage.cs

@@ -1,26 +0,0 @@
-
-namespace Renci.SshClient.Messages.Connection
-{
-    internal class ChannelRequestSignalMessage : ChannelRequestMessage
-    {
-        public const string REQUEST_NAME = "signal";
-
-        public string SignalName { get; set; }
-
-        protected override void LoadData()
-        {
-            base.LoadData();
-
-            this.SignalName = this.ReadString();
-        }
-
-        protected override void SaveData()
-        {
-            this.RequestName = REQUEST_NAME;
-
-            base.SaveData();
-
-            this.Write(this.SignalName);
-        }
-    }
-}

+ 0 - 26
Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestSubsystemMessage.cs

@@ -1,26 +0,0 @@
-
-namespace Renci.SshClient.Messages.Connection
-{
-    internal class ChannelRequestSubsystemMessage : ChannelRequestMessage
-    {
-        public const string REQUEST_NAME = "subsystem";
-
-        public string SubsystemName { get; set; }
-
-        protected override void LoadData()
-        {
-            base.LoadData();
-
-            this.SubsystemName = this.ReadString();
-        }
-
-        protected override void SaveData()
-        {
-            this.RequestName = REQUEST_NAME;
-
-            base.SaveData();
-
-            this.Write(this.SubsystemName);
-        }
-    }
-}

+ 0 - 38
Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestWindowChangeMessage.cs

@@ -1,38 +0,0 @@
-
-namespace Renci.SshClient.Messages.Connection
-{
-    internal class ChannelRequestWindowChangeMessage : ChannelRequestMessage
-    {
-        public const string REQUEST_NAME = "window-change";
-
-        public uint Columns { get; set; }
-
-        public uint Rows { get; set; }
-
-        public uint Width { get; set; }
-
-        public uint Height { get; set; }
-
-        protected override void LoadData()
-        {
-            base.LoadData();
-
-            this.Columns = this.ReadUInt32();
-            this.Rows = this.ReadUInt32();
-            this.Width = this.ReadUInt32();
-            this.Height = this.ReadUInt32();
-        }
-
-        protected override void SaveData()
-        {
-            this.RequestName = REQUEST_NAME;
-
-            base.SaveData();
-
-            this.Write(this.Columns);
-            this.Write(this.Rows);
-            this.Write(this.Width);
-            this.Write(this.Height);
-        }
-    }
-}

+ 0 - 38
Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestX11ForwardingMessage.cs

@@ -1,38 +0,0 @@
-
-namespace Renci.SshClient.Messages.Connection
-{
-    internal class ChannelRequestX11ForwardingMessage : ChannelRequestMessage
-    {
-        public const string REQUEST_NAME = "x11-req";
-
-        public bool IsSingleConnection { get; set; }
-
-        public string AuthenticationProtocol { get; set; }
-
-        public string AuthenticationCookie { get; set; }
-
-        public uint ScreenNumber { get; set; }
-
-        protected override void LoadData()
-        {
-            base.LoadData();
-
-            this.IsSingleConnection = this.ReadBoolean();
-            this.AuthenticationProtocol = this.ReadString();
-            this.AuthenticationCookie = this.ReadString();
-            this.ScreenNumber = this.ReadUInt32();
-        }
-
-        protected override void SaveData()
-        {
-            this.RequestName = REQUEST_NAME;
-
-            base.SaveData();
-
-            this.Write(this.IsSingleConnection);
-            this.Write(this.AuthenticationProtocol);
-            this.Write(this.AuthenticationCookie);
-            this.Write(this.ScreenNumber);
-        }
-    }
-}

+ 0 - 26
Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequest/ChannelRequestXonXoffMessage.cs

@@ -1,26 +0,0 @@
-
-namespace Renci.SshClient.Messages.Connection
-{
-    internal class ChannelRequestXonXoffMessage : ChannelRequestMessage
-    {
-        public const string REQUEST_NAME = "xon-xoff";
-
-        public bool ClientCanDo { get; set; }
-
-        protected override void LoadData()
-        {
-            base.LoadData();
-
-            this.ClientCanDo = this.ReadBoolean();
-        }
-
-        protected override void SaveData()
-        {
-            this.RequestName = REQUEST_NAME;
-
-            base.SaveData();
-
-            this.Write(this.ClientCanDo);
-        }
-    }
-}

+ 0 - 50
Renci.SshClient/Renci.SshClient/Messages/Connection/ChannelRequestNames.cs

@@ -1,50 +0,0 @@
-namespace Renci.SshClient.Messages.Connection
-{
-    internal enum ChannelRequestNames
-    {
-        /// <summary>
-        /// pty-req
-        /// </summary>
-        PseudoTerminal,
-        /// <summary>
-        /// x11-req
-        /// </summary>
-        X11Forwarding,
-        /// <summary>
-        /// env
-        /// </summary>
-        EnvironmentVariable,
-        /// <summary>
-        /// shell
-        /// </summary>
-        Shell,
-        /// <summary>
-        /// exec
-        /// </summary>
-        Exec,
-        /// <summary>
-        /// subsystem
-        /// </summary>
-        Subsystem,
-        /// <summary>
-        /// window-change
-        /// </summary>
-        WindowChange,
-        /// <summary>
-        /// xon-xoff
-        /// </summary>
-        XonXoff,
-        /// <summary>
-        /// signal
-        /// </summary>
-        Signal,
-        /// <summary>
-        /// exit-status
-        /// </summary>
-        ExitStatus,
-        /// <summary>
-        /// exit-signal
-        /// </summary>
-        ExitSignal
-    }
-}

+ 0 - 161
Renci.SshClient/Renci.SshClient/Messages/MessageTypes.cs

@@ -1,161 +0,0 @@
-namespace Renci.SshClient.Messages
-{
-    /// <summary>
-    /// 
-    /// </summary>
-    public enum MessageTypes : byte
-    {
-        /// <summary>
-        /// {35A90EBF-F421-44A3-BE3A-47C72AFE47FE}
-        /// </summary>
-        None = 0,
-        /// <summary>
-        /// SSH_MSG_DISCONNECT
-        /// </summary>
-        Disconnect = 1,
-        /// <summary>
-        /// SSH_MSG_IGNORE
-        /// </summary>
-        Ignore = 2,
-        /// <summary>
-        /// SSH_MSG_UNIMPLEMENTED
-        /// </summary>
-        Unimplemented = 3,
-        /// <summary>
-        /// SSH_MSG_DEBUG
-        /// </summary>
-        Debug = 4,
-        /// <summary>
-        /// SSH_MSG_SERVICE_REQUEST
-        /// </summary>
-        ServiceRequest = 5,
-        /// <summary>
-        /// SSH_MSG_SERVICE_ACCEPT
-        /// </summary>
-        ServiceAcceptRequest = 6,
-
-        /// <summary>
-        /// SSH_MSG_KEXINIT
-        /// </summary>
-        KeyExchangeInit = 20,
-        /// <summary>
-        /// SSH_MSG_NEWKEYS
-        /// </summary>
-        NewKeys = 21,
-        /// <summary>
-        /// SSH_MSG_KEXDH_INIT
-        /// </summary>
-        DiffieHellmanKeyExchangeInit = 30,
-        /// <summary>
-        /// SSH_MSG_KEXDH_REPLY
-        /// </summary>
-        KeyExchangeDhReply = 31,
-        /// <summary>
-        /// SSH_MSG_KEX_DH_GEX_GROUP
-        /// </summary>
-        KeyExchangeDhGroupExchangeGroup = 31,
-        /// <summary>
-        /// SSH_MSG_KEX_DH_GEX_INIT
-        /// </summary>
-        KeyExchangeDhGroupExchangeInit = 32,
-        /// <summary>
-        /// SSH_MSG_KEX_DH_GEX_REPLY
-        /// </summary>
-        KeyExchangeDhGroupExchangeReply = 33,
-        /// <summary>
-        /// SSH_MSG_KEX_DH_GEX_REQUEST
-        /// </summary>
-        KeyExchangeDhGroupExchangeRequest = 34,
-
-        /// <summary>
-        /// SSH_MSG_USERAUTH_REQUEST
-        /// </summary>
-        UserAuthenticationRequest = 50,
-        /// <summary>
-        /// SSH_MSG_USERAUTH_FAILURE
-        /// </summary>
-        UserAuthenticationFailure = 51,
-        /// <summary>
-        /// SSH_MSG_USERAUTH_SUCCESS
-        /// </summary>
-        UserAuthenticationSuccess = 52,
-        /// <summary>
-        /// SSH_MSG_USERAUTH_BANNER
-        /// </summary>
-        UserAuthenticationBanner = 53,
-        /// <summary>
-        /// SSH_MSG_USERAUTH_INFO_REQUEST
-        /// </summary>
-        UserAuthenticationInformationRequest = 60,
-        /// <summary>
-        /// SSH_MSG_USERAUTH_INFO_RESPONSE
-        /// </summary>
-        UserAuthenticationInformationResponse = 61,
-        /// <summary>
-        /// SSH_MSG_USERAUTH_PK_OK
-        /// </summary>
-        UserAuthenticationPublicKey = 60,
-        /// <summary>
-        /// SSH_MSG_USERAUTH_PASSWD_CHANGEREQ
-        /// </summary>
-        UserAuthenticationPasswordChangeRequired = 60,
-
-
-        /// <summary>
-        /// SSH_MSG_GLOBAL_REQUEST
-        /// </summary>
-        GlobalRequest = 80,
-        /// <summary>
-        /// SSH_MSG_REQUEST_SUCCESS
-        /// </summary>
-        RequestSuccess = 81,
-        /// <summary>
-        /// SSH_MSG_REQUEST_FAILURE
-        /// </summary>
-        RequestFailure = 82,
-        /// <summary>
-        /// SSH_MSG_CHANNEL_OPEN
-        /// </summary>
-        ChannelOpen = 90,
-        /// <summary>
-        /// SSH_MSG_CHANNEL_OPEN_CONFIRMATION
-        /// </summary>
-        ChannelOpenConfirmation = 91,
-        /// <summary>
-        /// SSH_MSG_CHANNEL_OPEN_FAILURE
-        /// </summary>
-        ChannelOpenFailure = 92,
-        /// <summary>
-        /// SSH_MSG_CHANNEL_WINDOW_ADJUST
-        /// </summary>
-        ChannelWindowAdjust = 93,
-        /// <summary>
-        /// SSH_MSG_CHANNEL_DATA
-        /// </summary>
-        ChannelData = 94,
-        /// <summary>
-        /// SSH_MSG_CHANNEL_EXTENDED_DATA
-        /// </summary>
-        ChannelExtendedData = 95,
-        /// <summary>
-        /// SSH_MSG_CHANNEL_EOF
-        /// </summary>
-        ChannelEof = 96,
-        /// <summary>
-        /// SSH_MSG_CHANNEL_CLOSE
-        /// </summary>
-        ChannelClose = 97,
-        /// <summary>
-        /// SSH_MSG_CHANNEL_REQUEST
-        /// </summary>
-        ChannelRequest = 98,
-        /// <summary>
-        /// SSH_MSG_CHANNEL_SUCCESS
-        /// </summary>
-        ChannelSuccess = 99,
-        /// <summary>
-        /// SSH_MSG_CHANNEL_FAILURE
-        /// </summary>
-        ChannelFailure = 100,
-    }
-}

+ 0 - 9
Renci.SshClient/Renci.SshClient/RequestSuccessEventArgs.cs

@@ -1,9 +0,0 @@
-using System;
-
-namespace Renci.SshClient
-{
-    internal class RequestSuccessEventArgs : EventArgs
-    {
-        public uint BoundPort { get; set; }
-    }
-}

+ 0 - 124
Renci.SshClient/Renci.SshClient/Security/CipherAES128.cs

@@ -1,124 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Security.Cryptography;
-
-namespace Renci.SshClient.Security
-{
-    internal class CipherAES128 : Cipher, IDisposable
-    {
-        private SymmetricAlgorithm _algorithm;
-
-        private ICryptoTransform _encryptor;
-
-        private ICryptoTransform _decryptor;
-
-        public override string Name
-        {
-            get { return "aes128-cbc"; }
-        }
-
-        public override int KeySize
-        {
-            get
-            {
-                return this._algorithm.KeySize;
-            }
-        }
-
-        public override int BlockSize
-        {
-            get
-            {
-                return this._algorithm.BlockSize / 8;
-            }
-        }
-
-        public CipherAES128()
-        {
-            this._algorithm = new System.Security.Cryptography.RijndaelManaged();
-            this._algorithm.Mode = System.Security.Cryptography.CipherMode.CBC;
-            this._algorithm.Padding = System.Security.Cryptography.PaddingMode.None;
-        }
-
-        public override IEnumerable<byte> Encrypt(IEnumerable<byte> data)
-        {
-            if (this._encryptor == null)
-            {
-                this._encryptor = this._algorithm.CreateEncryptor(this.Key.Take(this.KeySize / 8).ToArray(), this.Vector.Take(this.BlockSize).ToArray());
-            }
-
-            var input = data.ToArray();
-            var output = new byte[input.Length];
-            var writtenBytes = this._encryptor.TransformBlock(input, 0, input.Length, output, 0);
-
-            if (writtenBytes < input.Length)
-            {
-                throw new InvalidOperationException("Encryption error.");
-            }
-
-            return output;
-        }
-
-        public override IEnumerable<byte> Decrypt(IEnumerable<byte> data)
-        {
-            if (this._decryptor == null)
-            {
-                this._decryptor = this._algorithm.CreateDecryptor(this.Key.Take(this.KeySize / 8).ToArray(), this.Vector.Take(this.BlockSize).ToArray());
-            }
-
-            var input = data.ToArray();
-            var output = new byte[input.Length];
-            var writtenBytes = this._decryptor.TransformBlock(input, 0, input.Length, output, 0);
-
-            if (writtenBytes < input.Length)
-            {
-                throw new InvalidOperationException("Encryption error.");
-            }
-
-            return output;
-        }
-
-        #region IDisposable Members
-
-        private bool disposed = false;
-
-        public void Dispose()
-        {
-            Dispose(true);
-
-            GC.SuppressFinalize(this);
-        }
-
-        private void Dispose(bool disposing)
-        {
-            // Check to see if Dispose has already been called.
-            if (!this.disposed)
-            {
-                // If disposing equals true, dispose all managed
-                // and unmanaged resources.
-                if (disposing)
-                {
-                    // Dispose managed resources.
-                    if (this._algorithm != null)
-                    {
-                        this._algorithm.Dispose();
-                    }
-                }
-
-                // Note disposing has been done.
-                disposed = true;
-            }
-        }
-
-        ~CipherAES128()
-        {
-            // Do not re-create Dispose clean-up code here.
-            // Calling Dispose(false) is optimal in terms of
-            // readability and maintainability.
-            Dispose(false);
-        }
-
-        #endregion
-    }
-}

+ 0 - 8
Renci.SshClient/Renci.SshClient/Security/KeyExchangeCompletedEventArgs.cs

@@ -1,8 +0,0 @@
-using System;
-
-namespace Renci.SshClient.Security
-{
-    internal class KeyExchangeCompletedEventArgs : EventArgs
-    {
-    }
-}

+ 0 - 14
Renci.SshClient/Renci.SshClient/Security/KeyExchangeFailedEventArgs.cs

@@ -1,14 +0,0 @@
-using System;
-
-namespace Renci.SshClient.Security
-{
-    internal class KeyExchangeFailedEventArgs : EventArgs
-    {
-        public string Message { get; private set; }
-
-        public KeyExchangeFailedEventArgs(string message)
-        {
-            this.Message = message;
-        }
-    }
-}

+ 0 - 15
Renci.SshClient/Renci.SshClient/Security/KeyExchangeSendMessageEventArgs.cs

@@ -1,15 +0,0 @@
-using System;
-using Renci.SshClient.Messages;
-
-namespace Renci.SshClient.Security
-{
-    internal class KeyExchangeSendMessageEventArgs : EventArgs
-    {
-        public KeyExchangeSendMessageEventArgs(Message message)
-        {
-            this.Message = message;
-        }
-
-        public Message Message { get; private set; }
-    }
-}

+ 0 - 39
Renci.SshClient/Renci.SshClient/Security/PrivateKey.cs

@@ -1,39 +0,0 @@
-using System.Collections.Generic;
-using Renci.SshClient.Common;
-
-namespace Renci.SshClient.Security
-{
-    internal abstract class PrivateKey
-    {
-        public abstract string AlgorithmName { get; }
-
-        protected IEnumerable<byte> Data { get; private set; }
-
-        public abstract IEnumerable<byte> PublicKey { get; }
-
-        public PrivateKey(IEnumerable<byte> data)
-        {
-            this.Data = data;
-        }
-
-        public abstract IEnumerable<byte> GetSignature(IEnumerable<byte> sessionId);
-
-        protected class SignatureKeyData : SshData
-        {
-            public string AlgorithmName { get; set; }
-
-            public IEnumerable<byte> Signature { get; set; }
-
-            protected override void LoadData()
-            {
-            }
-
-            protected override void SaveData()
-            {
-                this.Write(this.AlgorithmName);
-                this.Write(this.Signature.GetSshString());
-            }
-        }
-
-    }
-}

+ 0 - 192
Renci.SshClient/Renci.SshClient/Security/PrivateKeyDsa.cs

@@ -1,192 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Security.Cryptography;
-using Renci.SshClient.Common;
-
-namespace Renci.SshClient.Security
-{
-    internal class PrivateKeyDsa : PrivateKey
-    {
-        private byte[] _pValue;
-
-        private byte[] _qValue;
-
-        private byte[] _gValue;
-
-        private byte[] _publicKeyValue;
-
-        private byte[] _privateKeyValue;
-
-        private IEnumerable<byte> _publicKey;
-        /// <summary>
-        /// Gets the public key.
-        /// </summary>
-        /// <value>The public key.</value>
-        public override IEnumerable<byte> PublicKey
-        {
-            get
-            {
-                if (this._publicKey == null)
-                {
-                    this._publicKey = new DsaPublicKeyData
-                    {
-                        P = this._pValue,
-                        Q = this._qValue,
-                        G = this._gValue,
-                        Public = this._publicKeyValue,
-                    }.GetBytes();
-
-                }
-                return this._publicKey;
-            }
-        }
-
-        public override string AlgorithmName
-        {
-            get { return "ssh-dss"; }
-        }
-
-
-        public PrivateKeyDsa(IEnumerable<byte> data)
-            : base(data)
-        {
-            if (!this.ParseDSAPrivateKey())
-            {
-                throw new InvalidDataException("DSA Key is not valid");
-            }
-        }
-
-        public override IEnumerable<byte> GetSignature(IEnumerable<byte> sessionId)
-        {
-            var data = sessionId.ToArray();
-            using (var sha1 = new System.Security.Cryptography.SHA1CryptoServiceProvider())
-            using (var cs = new System.Security.Cryptography.CryptoStream(System.IO.Stream.Null, sha1, System.Security.Cryptography.CryptoStreamMode.Write))
-            {
-                DSAParameters DSAKeyInfo = new DSAParameters();
-
-                DSAKeyInfo.X = this._privateKeyValue.TrimLeadinZero().ToArray();
-                DSAKeyInfo.P = this._pValue.TrimLeadinZero().ToArray();
-                DSAKeyInfo.Q = this._qValue.TrimLeadinZero().ToArray();
-                DSAKeyInfo.G = this._gValue.TrimLeadinZero().ToArray();
-
-                cs.Write(data, 0, data.Length);
-
-                cs.Close();
-
-                var DSA = new System.Security.Cryptography.DSACryptoServiceProvider();
-                DSA.ImportParameters(DSAKeyInfo);
-                var DSAFormatter = new RSAPKCS1SignatureFormatter(DSA);
-                DSAFormatter.SetHashAlgorithm("SHA1");
-
-                var signature = DSAFormatter.CreateSignature(sha1);
-
-                return new SignatureKeyData
-                {
-                    AlgorithmName = this.AlgorithmName,
-                    Signature = signature,
-                }.GetBytes();
-            }
-
-        }
-
-        private bool ParseDSAPrivateKey()
-        {
-            // ---------  Set up stream to decode the asn.1 encoded RSA private key  ------
-            using (var ms = new MemoryStream(this.Data.ToArray()))
-            using (var binr = new BinaryReader(ms)) //wrap Memory Stream with BinaryReader for easy reading
-            {
-                byte bt = 0;
-                ushort twobytes = 0;
-                int elems = 0;
-
-                twobytes = binr.ReadUInt16();
-                if (twobytes == 0x8130)	//data read as little endian order (actual data order for Sequence is 30 81)
-                    binr.ReadByte();	//advance 1 byte
-                else if (twobytes == 0x8230)
-                    binr.ReadInt16();	//advance 2 bytes
-                else
-                    return false;
-
-                twobytes = binr.ReadUInt16();
-                if (twobytes != 0x0102)	//version number
-                    return false;
-                bt = binr.ReadByte();
-                if (bt != 0x00)
-                    return false;
-
-                //------  all private key components are Integer sequences ----
-                elems = GetIntegerSize(binr);
-                this._pValue = binr.ReadBytes(elems);
-
-                elems = GetIntegerSize(binr);
-                this._qValue = binr.ReadBytes(elems);
-
-                elems = GetIntegerSize(binr);
-                this._gValue = binr.ReadBytes(elems);
-
-                elems = GetIntegerSize(binr);
-                this._publicKeyValue = binr.ReadBytes(elems);
-
-                elems = GetIntegerSize(binr);
-                this._privateKeyValue = binr.ReadBytes(elems);
-            }
-
-            return true;
-        }
-
-        private static int GetIntegerSize(BinaryReader binr)
-        {
-            byte bt = 0;
-            byte lowbyte = 0x00;
-            byte highbyte = 0x00;
-            int count = 0;
-            bt = binr.ReadByte();
-            if (bt != 0x02)		//expect integer
-                return 0;
-            bt = binr.ReadByte();
-
-            if (bt == 0x81)
-                count = binr.ReadByte();	// data size in next byte
-            else
-                if (bt == 0x82)
-                {
-                    highbyte = binr.ReadByte();	// data size in next 2 bytes
-                    lowbyte = binr.ReadByte();
-                    byte[] modint = { lowbyte, highbyte, 0x00, 0x00 };
-                    count = BitConverter.ToInt32(modint, 0);
-                }
-                else
-                {
-                    count = bt;		// we already have the data size
-                }
-
-            return count;
-        }
-
-        private class DsaPublicKeyData : SshData
-        {
-            public IEnumerable<byte> P { get; set; }
-
-            public IEnumerable<byte> Q { get; set; }
-
-            public IEnumerable<byte> G { get; set; }
-
-            public IEnumerable<byte> Public { get; set; }
-
-            protected override void LoadData()
-            {
-            }
-
-            protected override void SaveData()
-            {
-                this.Write("ssh-dss");
-                this.Write(this.P.GetSshString());
-                this.Write(this.Q.GetSshString());
-                this.Write(this.G.GetSshString());
-                this.Write(this.Public.GetSshString());
-            }
-        }
-    }
-}

+ 0 - 197
Renci.SshClient/Renci.SshClient/Security/PrivateKeyRsa.cs

@@ -1,197 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Security.Cryptography;
-using Renci.SshClient.Common;
-
-namespace Renci.SshClient.Security
-{
-    internal class PrivateKeyRsa : PrivateKey
-    {
-        private byte[] _modulus;
-        private byte[] _eValue;
-        private byte[] _dValue;
-        private byte[] _pValue;
-        private byte[] _qValue;
-        private byte[] _dpValue;
-        private byte[] _dqValue;
-        private byte[] _iqValue;
-
-        private IEnumerable<byte> _publicKey;
-        /// <summary>
-        /// Gets the public key.
-        /// </summary>
-        /// <value>The public key.</value>
-        public override IEnumerable<byte> PublicKey
-        {
-            get
-            {
-                if (this._publicKey == null)
-                {
-                    this._publicKey = new RsaPublicKeyData
-                    {
-                        E = this._eValue,
-                        Modulus = this._modulus,
-                    }.GetBytes();
-
-                }
-                return this._publicKey;
-            }
-        }
-
-        public override string AlgorithmName
-        {
-            get { return "ssh-rsa"; }
-        }
-
-
-        public PrivateKeyRsa(IEnumerable<byte> data)
-            : base(data)
-        {
-            if (!this.ParseRSAPrivateKey())
-            {
-                throw new InvalidDataException("RSA Key is not valid");
-            }
-        }
-
-        public override IEnumerable<byte> GetSignature(IEnumerable<byte> sessionId)
-        {
-            var data = sessionId.ToArray();
-            using (var sha1 = new System.Security.Cryptography.SHA1CryptoServiceProvider())
-            using (var cs = new System.Security.Cryptography.CryptoStream(System.IO.Stream.Null, sha1, System.Security.Cryptography.CryptoStreamMode.Write))
-            {
-                RSAParameters RSAKeyInfo = new RSAParameters();
-
-                RSAKeyInfo.Exponent = _eValue.TrimLeadinZero().ToArray();
-                RSAKeyInfo.D = _dValue.TrimLeadinZero().ToArray();
-                RSAKeyInfo.Modulus = _modulus.TrimLeadinZero().ToArray();
-                RSAKeyInfo.P = _pValue.TrimLeadinZero().ToArray();
-                RSAKeyInfo.Q = _qValue.TrimLeadinZero().ToArray();
-                RSAKeyInfo.DP = _dpValue.TrimLeadinZero().ToArray();
-                RSAKeyInfo.DQ = _dqValue.TrimLeadinZero().ToArray();
-                RSAKeyInfo.InverseQ = _iqValue.TrimLeadinZero().ToArray();
-
-                cs.Write(data, 0, data.Length);
-
-                cs.Close();
-
-                var RSA = new System.Security.Cryptography.RSACryptoServiceProvider();
-                RSA.ImportParameters(RSAKeyInfo);
-                var RSAFormatter = new RSAPKCS1SignatureFormatter(RSA);
-                RSAFormatter.SetHashAlgorithm("SHA1");
-
-                var signature = RSAFormatter.CreateSignature(sha1);
-
-                return new SignatureKeyData
-                {
-                    AlgorithmName = this.AlgorithmName,
-                    Signature = signature,
-                }.GetBytes();
-            }
-
-        }
-
-        private bool ParseRSAPrivateKey()
-        {
-            // ---------  Set up stream to decode the asn.1 encoded RSA private key  ------
-            using (var ms = new MemoryStream(this.Data.ToArray()))
-            using (var binr = new BinaryReader(ms)) //wrap Memory Stream with BinaryReader for easy reading
-            {
-                byte bt = 0;
-                ushort twobytes = 0;
-                int elems = 0;
-
-                twobytes = binr.ReadUInt16();
-                if (twobytes == 0x8130)	//data read as little endian order (actual data order for Sequence is 30 81)
-                    binr.ReadByte();	//advance 1 byte
-                else if (twobytes == 0x8230)
-                    binr.ReadInt16();	//advance 2 bytes
-                else
-                    return false;
-
-                twobytes = binr.ReadUInt16();
-                if (twobytes != 0x0102)	//version number
-                    return false;
-                bt = binr.ReadByte();
-                if (bt != 0x00)
-                    return false;
-
-
-                //------  all private key components are Integer sequences ----
-                elems = GetIntegerSize(binr);
-                this._modulus = binr.ReadBytes(elems);
-
-                elems = GetIntegerSize(binr);
-                this._eValue = binr.ReadBytes(elems);
-
-                elems = GetIntegerSize(binr);
-                this._dValue = binr.ReadBytes(elems);
-
-                elems = GetIntegerSize(binr);
-                this._pValue = binr.ReadBytes(elems);
-
-                elems = GetIntegerSize(binr);
-                this._qValue = binr.ReadBytes(elems);
-
-                elems = GetIntegerSize(binr);
-                this._dpValue = binr.ReadBytes(elems);
-
-                elems = GetIntegerSize(binr);
-                this._dqValue = binr.ReadBytes(elems);
-
-                elems = GetIntegerSize(binr);
-                this._iqValue = binr.ReadBytes(elems);
-
-                return true;
-            }
-        }
-
-        private static int GetIntegerSize(BinaryReader binr)
-        {
-            byte bt = 0;
-            byte lowbyte = 0x00;
-            byte highbyte = 0x00;
-            int count = 0;
-            bt = binr.ReadByte();
-            if (bt != 0x02)		//expect integer
-                return 0;
-            bt = binr.ReadByte();
-
-            if (bt == 0x81)
-                count = binr.ReadByte();	// data size in next byte
-            else
-                if (bt == 0x82)
-                {
-                    highbyte = binr.ReadByte();	// data size in next 2 bytes
-                    lowbyte = binr.ReadByte();
-                    byte[] modint = { lowbyte, highbyte, 0x00, 0x00 };
-                    count = BitConverter.ToInt32(modint, 0);
-                }
-                else
-                {
-                    count = bt;		// we already have the data size
-                }
-
-            return count;
-        }
-
-        private class RsaPublicKeyData : SshData
-        {
-            public IEnumerable<byte> Modulus { get; set; }
-
-            public IEnumerable<byte> E { get; set; }
-
-            protected override void LoadData()
-            {
-            }
-
-            protected override void SaveData()
-            {
-                this.Write("ssh-rsa");
-                this.Write(this.E.GetSshString());
-                this.Write(this.Modulus.GetSshString());
-            }
-        }
-    }
-}

+ 0 - 16
Renci.SshClient/Renci.SshClient/Security/Signature.cs

@@ -1,16 +0,0 @@
-using System.Collections.Generic;
-
-namespace Renci.SshClient.Security
-{
-    internal abstract class Signature : Algorithm
-    {
-        protected IEnumerable<byte> Data { get; private set; }
-
-        public Signature(IEnumerable<byte> data)
-        {
-            this.Data = data;
-        }
-
-        public abstract bool ValidateSignature(IEnumerable<byte> hash, IEnumerable<byte> signature);
-    }
-}

+ 0 - 91
Renci.SshClient/Renci.SshClient/Security/SignatureDss.cs

@@ -1,91 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Security.Cryptography;
-
-namespace Renci.SshClient.Security
-{
-    internal class SignatureDss : Signature
-    {
-        public override string Name
-        {
-            get { return "ssh-dss"; }
-        }
-
-        public SignatureDss(IEnumerable<byte> data)
-            : base(data)
-        {
-
-        }
-
-        public override bool ValidateSignature(IEnumerable<byte> hash, IEnumerable<byte> signature)
-        {
-            var pLength = BitConverter.ToUInt32(this.Data.Take(4).Reverse().ToArray(), 0);
-
-            var pData = this.Data.Skip(4).Take((int)pLength).ToArray();
-
-            var qLength = BitConverter.ToUInt32(this.Data.Skip(4 + (int)pLength).Take(4).Reverse().ToArray(), 0);
-
-            var qData = this.Data.Skip(4 + (int)pLength + 4).Take((int)qLength).ToArray();
-
-            var gLength = BitConverter.ToUInt32(this.Data.Skip(4 + (int)pLength + 4 + (int)qLength).Take(4).Reverse().ToArray(), 0);
-
-            var gData = this.Data.Skip(4 + (int)pLength + 4 + (int)qLength + 4).Take((int)gLength).ToArray();
-
-            var xLength = BitConverter.ToUInt32(this.Data.Skip(4 + (int)pLength + 4 + (int)qLength + 4 + (int)gLength).Take(4).Reverse().ToArray(), 0);
-
-            var xData = this.Data.Skip(4 + (int)pLength + 4 + (int)qLength + 4 + (int)xLength + 4).Take((int)xLength).ToArray();
-
-            using (var sha1 = new SHA1CryptoServiceProvider())
-            {
-                using (var cs = new CryptoStream(System.IO.Stream.Null, sha1, CryptoStreamMode.Write))
-                {
-                    var data = hash.ToArray();
-                    cs.Write(data, 0, data.Length);
-                    cs.Close();
-                }
-
-                using (var dsa = new DSACryptoServiceProvider())
-                {
-                    dsa.ImportParameters(new DSAParameters
-                    {
-                        X = xData.TrimLeadinZero().ToArray(),
-                        P = pData.TrimLeadinZero().ToArray(),
-                        Q = qData.TrimLeadinZero().ToArray(),
-                        G = gData.TrimLeadinZero().ToArray(),
-                    });
-                    var dsaDeformatter = new DSASignatureDeformatter(dsa);
-                    dsaDeformatter.SetHashAlgorithm("SHA1");
-
-                    long i = 0;
-                    long j = 0;
-                    byte[] tmp;
-
-                    var sig = signature.ToArray();
-                    if (sig[0] == 0 && sig[1] == 0 && sig[2] == 0)
-                    {
-                        long i1 = (sig[i++] << 24) & 0xff000000;
-                        long i2 = (sig[i++] << 16) & 0x00ff0000;
-                        long i3 = (sig[i++] << 8) & 0x0000ff00;
-                        long i4 = (sig[i++]) & 0x000000ff;
-                        j = i1 | i2 | i3 | i4;
-
-                        i += j;
-
-                        i1 = (sig[i++] << 24) & 0xff000000;
-                        i2 = (sig[i++] << 16) & 0x00ff0000;
-                        i3 = (sig[i++] << 8) & 0x0000ff00;
-                        i4 = (sig[i++]) & 0x000000ff;
-                        j = i1 | i2 | i3 | i4;
-
-                        tmp = new byte[j];
-                        Array.Copy(sig, i, tmp, 0, j);
-                        sig = tmp;
-                    }
-
-                    return dsaDeformatter.VerifySignature(sha1, sig);
-                }
-            }
-        }
-    }
-}

+ 0 - 81
Renci.SshClient/Renci.SshClient/Security/SignatureRsa.cs

@@ -1,81 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Security.Cryptography;
-
-namespace Renci.SshClient.Security
-{
-    internal class SignatureRsa : Signature
-    {
-        public override string Name
-        {
-            get { return "ssh-rsa"; }
-        }
-
-        public SignatureRsa(IEnumerable<byte> data)
-            : base(data)
-        {
-
-        }
-
-        public override bool ValidateSignature(IEnumerable<byte> hash, IEnumerable<byte> signature)
-        {
-            var exponentLength = BitConverter.ToUInt32(this.Data.Take(4).Reverse().ToArray(), 0);
-
-            var exponentData = this.Data.Skip(4).Take((int)exponentLength).ToArray();
-
-            var modulusLength = BitConverter.ToUInt32(this.Data.Skip(4 + (int)exponentLength).Take(4).Reverse().ToArray(), 0);
-
-            var modulusData = this.Data.Skip(4 + (int)exponentLength + 4).Take((int)modulusLength).ToArray();
-
-            using (var sha1 = new SHA1CryptoServiceProvider())
-            {
-                using (var cs = new CryptoStream(System.IO.Stream.Null, sha1, CryptoStreamMode.Write))
-                {
-                    var data = hash.ToArray();
-                    cs.Write(data, 0, data.Length);
-                    cs.Close();
-                }
-
-                using (var rsa = new RSACryptoServiceProvider())
-                {
-                    rsa.ImportParameters(new RSAParameters
-                    {
-                        Exponent = exponentData,
-                        Modulus = modulusData.TrimLeadinZero().ToArray(),
-                    });
-                    var rsaDeformatter = new RSAPKCS1SignatureDeformatter(rsa);
-                    rsaDeformatter.SetHashAlgorithm("SHA1");
-
-                    long i = 0;
-                    long j = 0;
-                    byte[] tmp;
-
-                    var sig = signature.ToArray();
-                    if (sig[0] == 0 && sig[1] == 0 && sig[2] == 0)
-                    {
-                        long i1 = (sig[i++] << 24) & 0xff000000;
-                        long i2 = (sig[i++] << 16) & 0x00ff0000;
-                        long i3 = (sig[i++] << 8) & 0x0000ff00;
-                        long i4 = (sig[i++]) & 0x000000ff;
-                        j = i1 | i2 | i3 | i4;
-
-                        i += j;
-
-                        i1 = (sig[i++] << 24) & 0xff000000;
-                        i2 = (sig[i++] << 16) & 0x00ff0000;
-                        i3 = (sig[i++] << 8) & 0x0000ff00;
-                        i4 = (sig[i++]) & 0x000000ff;
-                        j = i1 | i2 | i3 | i4;
-
-                        tmp = new byte[j];
-                        Array.Copy(sig, i, tmp, 0, j);
-                        sig = tmp;
-                    }
-
-                    return rsaDeformatter.VerifySignature(sha1, sig);
-                }
-            }
-        }
-    }
-}

+ 0 - 94
Renci.SshClient/Renci.SshClient/Security/UserAuthentication.cs

@@ -1,94 +0,0 @@
-using Renci.SshClient.Messages;
-using Renci.SshClient.Messages.Authentication;
-using System;
-using Renci.SshClient.Common;
-using System.Threading;
-
-namespace Renci.SshClient.Security
-{
-    internal abstract class UserAuthentication
-    {
-        public abstract string Name { get; }
-
-        public bool IsAuthenticated { get; private set; }
-
-        public string ErrorMessage { get; private set; }
-
-        public event EventHandler<AuthenticationEventArgs> Authenticating;
-
-        protected Session Session { get; private set; }
-
-        protected string Username { get; private set; }
-
-        public bool Authenticate(string username, Session session)
-        {
-            this.Username = username;
-            this.Session = session;
-
-            this.Session.RegisterMessageType<FailureMessage>(MessageTypes.UserAuthenticationFailure);
-            this.Session.RegisterMessageType<SuccessMessage>(MessageTypes.UserAuthenticationSuccess);
-            this.Session.RegisterMessageType<BannerMessage>(MessageTypes.UserAuthenticationBanner);
-
-            this.Session.UserAuthenticationFailureReceived += Session_UserAuthenticationFailureReceived;
-            this.Session.UserAuthenticationSuccessReceived += Session_UserAuthenticationSuccessMessageReceived;
-            this.Session.UserAuthenticationBannerReceived += Session_UserAuthenticationBannerMessageReceived;
-            this.Session.MessageReceived += Session_MessageReceived;
-
-            this.OnAuthenticate();
-
-            this.Session.UserAuthenticationFailureReceived -= Session_UserAuthenticationFailureReceived;
-            this.Session.UserAuthenticationSuccessReceived -= Session_UserAuthenticationSuccessMessageReceived;
-            this.Session.UserAuthenticationBannerReceived -= Session_UserAuthenticationBannerMessageReceived;
-            this.Session.MessageReceived -= Session_MessageReceived;
-
-            this.Session.UnRegisterMessageType(MessageTypes.UserAuthenticationFailure);
-            this.Session.UnRegisterMessageType(MessageTypes.UserAuthenticationSuccess);
-            this.Session.UnRegisterMessageType(MessageTypes.UserAuthenticationBanner);
-
-            return this.IsAuthenticated;
-        }
-
-        protected abstract void OnAuthenticate();
-
-        protected virtual void Session_UserAuthenticationFailureReceived(object sender, MessageEventArgs<FailureMessage> e)
-        {
-            this.ErrorMessage = e.Message.Message;
-            this.IsAuthenticated = false;
-        }
-
-        protected virtual void Session_UserAuthenticationSuccessMessageReceived(object sender, MessageEventArgs<SuccessMessage> e)
-        {
-            this.IsAuthenticated = true;
-        }
-
-        protected virtual void Session_UserAuthenticationBannerMessageReceived(object sender, MessageEventArgs<BannerMessage> e)
-        {
-            RaiseAuthenticating(new AuthenticationBannerEventArgs(this.Username, e.Message.Message, e.Message.Language));
-        }
-
-        protected void RaiseAuthenticating(AuthenticationEventArgs args)
-        {
-            if (this.Authenticating != null)
-            {
-                this.Authenticating(this, args);
-            }
-        }
-
-        protected void SendMessage(Message message)
-        {
-            this.Session.SendMessage(message);
-        }
-
-        protected void WaitHandle(WaitHandle eventWaitHandle)
-        {
-            this.Session.WaitHandle(eventWaitHandle);
-        }
-
-
-
-        protected virtual void Session_MessageReceived(object sender, MessageEventArgs<Message> e)
-        {
-        }
-        
-    }
-}

+ 0 - 18
Renci.SshClient/Renci.SshClient/Security/UserAuthenticationHost.cs

@@ -1,18 +0,0 @@
-namespace Renci.SshClient.Security
-{
-    internal class UserAuthenticationHost : UserAuthentication
-    {
-        public override string Name
-        {
-            get
-            {
-                return "hostbased";
-            }
-        }
-
-        protected override bool Run()
-        {
-            throw new System.NotImplementedException();
-        }
-    }
-}

+ 0 - 127
Renci.SshClient/Renci.SshClient/Security/UserAuthenticationKeyboardInteractive.cs

@@ -1,127 +0,0 @@
-using System;
-using System.Linq;
-using System.Threading;
-using Renci.SshClient.Messages;
-using Renci.SshClient.Messages.Authentication;
-using Renci.SshClient.Common;
-using System.Threading.Tasks;
-
-namespace Renci.SshClient.Security
-{
-    internal class UserAuthenticationKeyboardInteractive : UserAuthentication, IDisposable
-    {
-        private EventWaitHandle _authenticationCompleted = new AutoResetEvent(false);
-
-        private Exception _exception;
-
-        public override string Name
-        {
-            get
-            {
-                return "keyboard-interactive";
-            }
-        }
-
-        protected override void OnAuthenticate()
-        {
-            this.Session.RegisterMessageType<InformationRequestMessage>(MessageTypes.UserAuthenticationInformationRequest);
-
-            this.Session.SendMessage(new RequestMessageKeyboardInteractive(ServiceNames.Connection, this.Session.ConnectionInfo.Username));
-
-            this.WaitHandle(this._authenticationCompleted);
-
-            this.Session.UnRegisterMessageType(MessageTypes.UserAuthenticationInformationRequest);
-
-            if (this._exception != null)
-            {
-                throw this._exception;
-            }
-        }
-
-        protected override void Session_UserAuthenticationSuccessMessageReceived(object sender, MessageEventArgs<SuccessMessage> e)
-        {
-            base.Session_UserAuthenticationSuccessMessageReceived(sender, e);
-            this._authenticationCompleted.Set();
-        }
-
-        protected override void Session_UserAuthenticationFailureReceived(object sender, MessageEventArgs<FailureMessage> e)
-        {
-            base.Session_UserAuthenticationFailureReceived(sender, e);
-            this._authenticationCompleted.Set();
-        }
-
-        protected override void Session_MessageReceived(object sender, MessageEventArgs<Message> e)
-        {
-            var informationRequestMessage = e.Message as InformationRequestMessage;
-            if (informationRequestMessage != null)
-            {
-                var eventArgs = new AuthenticationPromptEventArgs(this.Username, informationRequestMessage.Instruction, informationRequestMessage.Language, informationRequestMessage.Prompts);
-
-                var eventTask = Task.Factory.StartNew(() =>
-                {
-                    try
-                    {
-                        this.RaiseAuthenticating(eventArgs);
-
-                        var informationResponse = new InformationResponseMessage();
-
-                        foreach (var response in from r in eventArgs.Prompts orderby r.Id ascending select r.Response)
-                        {
-                            informationResponse.Responses.Add(response);
-                        }
-
-                        //  Send information response message
-                        this.SendMessage(informationResponse);
-                    }
-                    catch (Exception exp)
-                    {
-                        this._exception = exp;
-                        this._authenticationCompleted.Set();
-                    }
-                });
-            }
-        }
-
-        #region IDisposable Members
-
-        private bool isDisposed = false;
-
-        public void Dispose()
-        {
-            Dispose(true);
-
-            GC.SuppressFinalize(this);
-        }
-
-        protected virtual void Dispose(bool disposing)
-        {
-            // Check to see if Dispose has already been called.
-            if (!this.isDisposed)
-            {
-                // If disposing equals true, dispose all managed
-                // and unmanaged resources.
-                if (disposing)
-                {
-                    // Dispose managed resources.
-                    if (this._authenticationCompleted != null)
-                    {
-                        this._authenticationCompleted.Dispose();
-                    }
-                }
-
-                // Note disposing has been done.
-                isDisposed = true;
-            }
-        }
-
-        ~UserAuthenticationKeyboardInteractive()
-        {
-            // Do not re-create Dispose clean-up code here.
-            // Calling Dispose(false) is optimal in terms of
-            // readability and maintainability.
-            Dispose(false);
-        }
-
-        #endregion
-    }
-}

+ 0 - 82
Renci.SshClient/Renci.SshClient/Security/UserAuthenticationNone.cs

@@ -1,82 +0,0 @@
-using System;
-using System.Threading;
-using Renci.SshClient.Messages;
-using Renci.SshClient.Messages.Authentication;
-using System.Collections.Generic;
-
-namespace Renci.SshClient.Security
-{
-    internal class UserAuthenticationNone : UserAuthentication, IDisposable
-    {
-        private EventWaitHandle _authenticationCompleted = new AutoResetEvent(false);
-
-        public override string Name
-        {
-            get { return "none"; }
-        }
-
-        public IEnumerable<string> Methods { get; private set; }
-
-        protected override void OnAuthenticate()
-        {
-            this.SendMessage(new RequestMessage(ServiceNames.Connection, this.Username));
-
-            this.WaitHandle(this._authenticationCompleted);
-        }
-
-        protected override void Session_UserAuthenticationSuccessMessageReceived(object sender, MessageEventArgs<SuccessMessage> e)
-        {
-            base.Session_UserAuthenticationSuccessMessageReceived(sender, e);
-            this._authenticationCompleted.Set();
-        }
-
-        protected override void Session_UserAuthenticationFailureReceived(object sender, MessageEventArgs<FailureMessage> e)
-        {
-            base.Session_UserAuthenticationFailureReceived(sender, e);
-            this.Methods = e.Message.AllowedAuthentications;
-            this._authenticationCompleted.Set();
-        }
-
-        #region IDisposable Members
-
-        private bool _isDisposed = false;
-
-        public void Dispose()
-        {
-            Dispose(true);
-
-            GC.SuppressFinalize(this);
-        }
-
-        protected virtual void Dispose(bool disposing)
-        {
-            // Check to see if Dispose has already been called.
-            if (!this._isDisposed)
-            {
-                // If disposing equals true, dispose all managed
-                // and unmanaged resources.
-                if (disposing)
-                {
-                    // Dispose managed resources.
-                    if (this._authenticationCompleted != null)
-                    {
-                        this._authenticationCompleted.Dispose();
-                    }
-                }
-
-                // Note disposing has been done.
-                _isDisposed = true;
-            }
-        }
-
-        ~UserAuthenticationNone()
-        {
-            // Do not re-create Dispose clean-up code here.
-            // Calling Dispose(false) is optimal in terms of
-            // readability and maintainability.
-            Dispose(false);
-        }
-
-        #endregion
-    }
-}

+ 0 - 128
Renci.SshClient/Renci.SshClient/Security/UserAuthenticationPassword.cs

@@ -1,128 +0,0 @@
-using System;
-using System.Threading;
-using Renci.SshClient.Messages;
-using Renci.SshClient.Messages.Authentication;
-using System.Threading.Tasks;
-using Renci.SshClient.Common;
-
-namespace Renci.SshClient.Security
-{
-    internal class UserAuthenticationPassword : UserAuthentication, IDisposable
-    {
-        private EventWaitHandle _authenticationCompleted = new AutoResetEvent(false);
-
-        private Exception _exception;
-
-        private PasswordConnectionInfo _connectionInfo;
-
-        public override string Name
-        {
-            get
-            {
-                return "password";
-            }
-        }
-
-        protected override void OnAuthenticate()
-        {
-            this._connectionInfo = this.Session.ConnectionInfo as PasswordConnectionInfo;
-
-            if (this._connectionInfo == null)
-                return;
-
-            this.Session.RegisterMessageType<PasswordChangeRequiredMessage>(MessageTypes.UserAuthenticationPasswordChangeRequired);
-
-            this.SendMessage(new RequestMessagePassword(ServiceNames.Connection, this.Username, this._connectionInfo.Password));
-
-            this.WaitHandle(this._authenticationCompleted);
-
-            if (this._exception != null)
-            {
-                throw this._exception;
-            }
-        }
-
-        protected override void Session_UserAuthenticationSuccessMessageReceived(object sender, MessageEventArgs<SuccessMessage> e)
-        {
-            base.Session_UserAuthenticationSuccessMessageReceived(sender, e);
-            this._authenticationCompleted.Set();
-        }
-
-        protected override void Session_UserAuthenticationFailureReceived(object sender, MessageEventArgs<FailureMessage> e)
-        {
-            base.Session_UserAuthenticationFailureReceived(sender, e);
-            this._authenticationCompleted.Set();
-        }
-
-        protected override void Session_MessageReceived(object sender, MessageEventArgs<Message> e)
-        {
-            base.Session_MessageReceived(sender, e);
-
-            if (e.Message is PasswordChangeRequiredMessage)
-            {
-                this.Session.UnRegisterMessageType(MessageTypes.UserAuthenticationPasswordChangeRequired);
-
-                var eventTask = Task.Factory.StartNew(() =>
-                {
-                    try
-                    {
-                        var eventArgs = new AuthenticationPasswordChangeEventArgs(this.Username);
-
-                        //  Raise an event to allow user to supply a new password
-                        this.RaiseAuthenticating(eventArgs);
-
-                        //  Send new authentication request with new password
-                        this.SendMessage(new RequestMessagePassword(ServiceNames.Connection, this.Username, this._connectionInfo.Password, eventArgs.NewPassword));
-                    }
-                    catch (Exception exp)
-                    {
-                        this._exception = exp;
-                        this._authenticationCompleted.Set();
-                    }
-                });
-            }
-        }
-
-        #region IDisposable Members
-
-        private bool isDisposed = false;
-
-        public void Dispose()
-        {
-            Dispose(true);
-
-            GC.SuppressFinalize(this);
-        }
-
-        protected virtual void Dispose(bool disposing)
-        {
-            // Check to see if Dispose has already been called.
-            if (!this.isDisposed)
-            {
-                // If disposing equals true, dispose all managed
-                // and unmanaged resources.
-                if (disposing)
-                {
-                    // Dispose managed resources.
-                    if (this._authenticationCompleted != null)
-                    {
-                        this._authenticationCompleted.Dispose();
-                    }
-                }
-
-                // Note disposing has been done.
-                isDisposed = true;
-            }
-        }
-
-        ~UserAuthenticationPassword()
-        {
-            // Do not re-create Dispose clean-up code here.
-            // Calling Dispose(false) is optimal in terms of
-            // readability and maintainability.
-            Dispose(false);
-        }
-
-        #endregion
-    }
-}

+ 0 - 177
Renci.SshClient/Renci.SshClient/Security/UserAuthenticationPublicKey.cs

@@ -1,177 +0,0 @@
-using System;
-using System.Threading;
-using Renci.SshClient.Common;
-using Renci.SshClient.Messages;
-using Renci.SshClient.Messages.Authentication;
-
-namespace Renci.SshClient.Security
-{
-    internal class UserAuthenticationPublicKey : UserAuthentication, IDisposable
-    {
-        private EventWaitHandle _publicKeyRequestMessageResponseWaitHandle = new ManualResetEvent(false);
-
-        private bool _isSignatureRequired;
-
-        public override string Name
-        {
-            get
-            {
-                return "publickey";
-            }
-        }
-
-        protected override void OnAuthenticate()
-        {
-            var privateKeyConnectionInfo = this.Session.ConnectionInfo as PrivateKeyConnectionInfo;
-
-            if (privateKeyConnectionInfo == null)
-                return;
-
-            if (privateKeyConnectionInfo.KeyFiles == null)
-                return;
-
-            this.Session.RegisterMessageType<PublicKeyMessage>(MessageTypes.UserAuthenticationPublicKey);
-
-            foreach (var keyFile in privateKeyConnectionInfo.KeyFiles)
-            {
-                this._publicKeyRequestMessageResponseWaitHandle.Reset();
-                this._isSignatureRequired = false;
-
-                var message = new RequestMessagePublicKey(ServiceNames.Connection,this.Username, keyFile.AlgorithmName, keyFile.PublicKey);
-
-                if (privateKeyConnectionInfo.KeyFiles.Count < 2)
-                {
-                    //  If only one key file provided then send signature for very first request
-                    var signatureData = new SignatureData(message, this.Session.SessionId.GetSshString()).GetBytes();
-
-                    message.Signature = keyFile.GetSignature(signatureData);
-                }
-
-                //  Send public key authentication request
-                this.SendMessage(message);
-
-                this.WaitHandle(this._publicKeyRequestMessageResponseWaitHandle);
-
-                if (this._isSignatureRequired)
-                {
-                    this._publicKeyRequestMessageResponseWaitHandle.Reset();
-
-                    var signatureMessage = new RequestMessagePublicKey(ServiceNames.Connection, this.Session.ConnectionInfo.Username, keyFile.AlgorithmName, keyFile.PublicKey);
-
-                    var signatureData = new SignatureData(message, this.Session.SessionId.GetSshString()).GetBytes();
-
-                    signatureMessage.Signature = keyFile.GetSignature(signatureData);
-                    
-                    //  Send public key authentication request with signature
-                    this.SendMessage(signatureMessage); 
-                }
-
-                this.WaitHandle(this._publicKeyRequestMessageResponseWaitHandle);
-
-                if (this.IsAuthenticated)
-                {
-                    break;
-                }            
-            }
-
-            this.Session.UnRegisterMessageType(MessageTypes.UserAuthenticationPublicKey);
-        }
-
-        protected override void Session_UserAuthenticationSuccessMessageReceived(object sender, MessageEventArgs<SuccessMessage> e)
-        {
-            base.Session_UserAuthenticationSuccessMessageReceived(sender, e);
-
-            this._publicKeyRequestMessageResponseWaitHandle.Set();
-        }
-
-        protected override void Session_UserAuthenticationFailureReceived(object sender, MessageEventArgs<FailureMessage> e)
-        {
-            base.Session_UserAuthenticationFailureReceived(sender, e);
-            this._publicKeyRequestMessageResponseWaitHandle.Set();
-        }
-
-        protected override void Session_MessageReceived(object sender, MessageEventArgs<Message> e)
-        {
-            base.Session_MessageReceived(sender, e);
-
-            var publicKeyMessage = e.Message as PublicKeyMessage;
-            if (publicKeyMessage != null)
-            {
-                this._isSignatureRequired = true;
-                this._publicKeyRequestMessageResponseWaitHandle.Set();
-            }        
-        }
-
-        private class SignatureData : SshData
-        {
-            private RequestMessagePublicKey _message;
-
-            private string _sessionId;
-
-            public SignatureData(RequestMessagePublicKey message, string sessionId)
-            {
-                this._message = message;
-                this._sessionId = sessionId;
-            }
-
-            protected override void LoadData()
-            {
-                throw new System.NotImplementedException();
-            }
-
-            protected override void SaveData()
-            {
-                this.Write(this._sessionId);
-                this.Write((byte)this._message.MessageType);
-                this.Write(this._message.Username);
-                this.Write("ssh-connection");
-                this.Write("publickey");
-                this.Write((byte)1);
-                this.Write(this._message.PublicKeyAlgorithmName);
-                this.Write(this._message.PublicKeyData.GetSshString());
-            }
-        }
-
-        #region IDisposable Members
-
-        private bool _isDisposed = false;
-
-        public void Dispose()
-        {
-            Dispose(true);
-
-            GC.SuppressFinalize(this);
-        }
-
-        protected virtual void Dispose(bool disposing)
-        {
-            // Check to see if Dispose has already been called.
-            if (!this._isDisposed)
-            {
-                // If disposing equals true, dispose all managed
-                // and unmanaged resources.
-                if (disposing)
-                {
-                    // Dispose managed resources.
-                    if (this._publicKeyRequestMessageResponseWaitHandle != null)
-                    {
-                        this._publicKeyRequestMessageResponseWaitHandle.Dispose();
-                    }
-                }
-
-                // Note disposing has been done.
-                _isDisposed = true;
-            }
-        }
-
-        ~UserAuthenticationPublicKey()
-        {
-            // Do not re-create Dispose clean-up code here.
-            // Calling Dispose(false) is optimal in terms of
-            // readability and maintainability.
-            Dispose(false);
-        }
-
-        #endregion
-    }
-}

+ 0 - 19
Renci.SshClient/Renci.SshClient/Services/ConnectionService.cs

@@ -1,19 +0,0 @@
-using System;
-using Renci.SshClient.Messages;
-
-namespace Renci.SshClient.Services
-{
-    internal class ConnectionService : Service
-    {
-        public override ServiceNames ServiceName
-        {
-            get { throw new NotImplementedException(); }
-        }
-
-        public ConnectionService(Session session)
-            : base(session)
-        {
-
-        }
-    }
-}

+ 0 - 22
Renci.SshClient/Renci.SshClient/Services/Service.cs

@@ -1,22 +0,0 @@
-using Renci.SshClient.Messages;
-
-namespace Renci.SshClient.Services
-{
-    internal abstract class Service
-    {
-        public abstract ServiceNames ServiceName { get; }
-
-        protected Session Session { get; private set; }
-
-        public Service(Session session)
-        {
-            this.Session = session;
-        }
-
-        protected void SendMessage(Message message)
-        {
-            this.Session.SendMessage(message);
-        }
-
-    }
-}

+ 0 - 155
Renci.SshClient/Renci.SshClient/Services/UserAuthenticationService.cs

@@ -1,155 +0,0 @@
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading;
-using Renci.SshClient.Common;
-using Renci.SshClient.Messages;
-using Renci.SshClient.Messages.Authentication;
-using Renci.SshClient.Messages.Transport;
-using Renci.SshClient.Security;
-
-namespace Renci.SshClient.Services
-{
-    internal class UserAuthenticationService : Service
-    {
-        private IList<string> _executedMethods = new List<string>();
-
-        private EventWaitHandle _serviceAccepted = new AutoResetEvent(false);
-
-        private EventWaitHandle _authenticationCompleted = new AutoResetEvent(false);
-
-        public override ServiceNames ServiceName
-        {
-            get { return ServiceNames.UserAuthentication; }
-        }
-
-        public EventWaitHandle AuthenticationCompletedHandle { get; private set; }
-
-        public string ErrorMessage { get; private set; }
-
-        public bool IsAuthenticated { get; private set; }
-
-        public UserAuthenticationService(Session session)
-            : base(session)
-        {
-            this.AuthenticationCompletedHandle = new AutoResetEvent(false);
-        }
-
-        public void AuthenticateUser()
-        {
-            //  Register Authentication response messages
-            Message.RegisterMessageType<FailureMessage>(MessageTypes.UserAuthenticationFailure);
-            Message.RegisterMessageType<SuccessMessage>(MessageTypes.UserAuthenticationSuccess);
-            Message.RegisterMessageType<BannerMessage>(MessageTypes.UserAuthenticationBanner);
-
-            //  Attach event handlers to handle messages
-            this.Session.MessageReceived += SessionInfo_MessageReceived;
-
-            //  Request user authorization service
-            this.SendMessage(new ServiceRequestMessage
-            {
-                ServiceName = ServiceNames.UserAuthentication,
-            });
-
-            //  Wait for service to be accepted
-            this.Session.WaitHandle(this._serviceAccepted);
-
-            //  Start by quering supported authentication methods
-            this.SendMessage(new RequestMessage
-            {
-                Username = this.Session.ConnectionInfo.Username,
-                ServiceName = ServiceNames.Connection,
-            });
-
-            //  Wait for authentication to be completed
-            this.Session.WaitHandle(this._authenticationCompleted);
-
-            this.Session.MessageReceived -= SessionInfo_MessageReceived;
-
-            Message.UnRegisterMessageType(MessageTypes.UserAuthenticationFailure);
-            Message.UnRegisterMessageType(MessageTypes.UserAuthenticationSuccess);
-            Message.UnRegisterMessageType(MessageTypes.UserAuthenticationBanner);
-        }
-
-        private void SessionInfo_MessageReceived(object sender, MessageReceivedEventArgs e)
-        {
-            this.HandleMessage((dynamic)e.Message);
-        }
-
-        private void HandleMessage<T>(T message)
-        {
-            //  Ignore messages that cannot be handled by this module
-        }
-
-        private void HandleMessage(ServiceAcceptMessage message)
-        {
-            if (message.ServiceName == ServiceNames.UserAuthentication)
-            {
-                this._serviceAccepted.Set();
-            }
-        }
-
-        private void HandleMessage(SuccessMessage message)
-        {
-            this.AuthenticationSucceded();
-        }
-
-        private void HandleMessage(FailureMessage message)
-        {
-            if (message.PartialSuccess)
-            {
-                this.AuthenticationFailed(message.Message);
-                return;
-            }
-
-            //  Get method that was not executed yet
-            var methodsToTry = message.AllowedAuthentications.Except(this._executedMethods);
-
-            if (methodsToTry.Count() == 0)
-            {
-                this.AuthenticationFailed(string.Format("User '{0}' cannot be authorized.", this.Session.ConnectionInfo.Username));
-                return;
-            }
-
-            //  Execute authentication method
-            foreach (var methodName in methodsToTry)
-            {
-                UserAuthentication userAuthentication = null;
-
-                if (methodName == "publickey")
-                {
-                    userAuthentication = new UserAuthenticationPublicKey(this.Session);
-                }
-                else if (methodName == "password")
-                {
-                    userAuthentication = new UserAuthenticationPassword(this.Session);
-                }
-                this._executedMethods.Add(methodName);
-                if (userAuthentication != null)
-                {
-                    if (userAuthentication.Start())
-                        break;
-                }
-            }
-        }
-
-        private void HandleMessage(BannerMessage message)
-        {
-        }
-
-        private void AuthenticationFailed(string message)
-        {
-            this.IsAuthenticated = false;
-            this.ErrorMessage = message;
-            this._authenticationCompleted.Set();
-        }
-
-        private void AuthenticationSucceded()
-        {
-            this.IsAuthenticated = true;
-            this._authenticationCompleted.Set();
-        }
-
-
-
-    }
-}

+ 0 - 72
Renci.SshClient/Renci.SshClient/SessionInfo.cs

@@ -1,72 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Threading;
-using Renci.SshClient.Common;
-using Renci.SshClient.Messages;
-
-namespace Renci.SshClient
-{
-    public delegate void SendMessage(Message message);
-
-    internal class SessionInfo
-    {
-        private SendMessage _sendMessage;
-
-        private EventWaitHandle _disconnectWaitHandle = new AutoResetEvent(false);
-
-        private int _waitTimeout;
-
-        public ConnectionInfo ConnectionInfo { get; private set; }
-
-        public IEnumerable<byte> SessionId { get; set; }
-
-        public string ServerVersion { get; set; }
-
-        public string ClientVersion { get; set; }
-
-        public SessionInfo(SendMessage sendMessage, ConnectionInfo connectionInfo, int waitTimeout)
-        {
-            this._sendMessage = sendMessage;
-            this._waitTimeout = waitTimeout;
-            this.ConnectionInfo = connectionInfo;
-        }
-
-        public event EventHandler<MessageReceivedEventArgs> MessageReceived;
-
-        public void RaiseMessageReceived(object sender, MessageReceivedEventArgs args)
-        {
-            if (this.MessageReceived != null)
-            {
-                this.MessageReceived(sender, args);
-            }
-        }
-
-        public void SendMessage(Message message)
-        {
-            this._sendMessage(message);
-        }
-
-        public void Disconnect()
-        {
-            this._disconnectWaitHandle.Set();
-        }
-
-        public void WaitHandle(EventWaitHandle waitHandle)
-        {
-            var waitHandles = new EventWaitHandle[]
-                {
-                    this._disconnectWaitHandle,
-                    waitHandle,
-                };
-            var index = EventWaitHandle.WaitAny(waitHandles);
-
-            //var index = EventWaitHandle.WaitAny(waitHandles, this._waitTimeout);
-
-            //if (index > waitHandles.Length)
-            //{
-            //  //  TODO:   Issue timeout disconnect message if approapriate
-            //    throw new TimeoutException();
-            //}
-        }
-    }
-}

+ 0 - 199
Renci.SshClient/Renci.SshClient/SessionSSHv2.cs

@@ -1,199 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Net.Sockets;
-using System.Security.Cryptography;
-using Renci.SshClient.Messages;
-
-namespace Renci.SshClient
-{
-    internal class SessionSSHv2 : Session
-    {
-        private static RNGCryptoServiceProvider _randomizer = new System.Security.Cryptography.RNGCryptoServiceProvider();
-
-        private UInt32 _outboundPacketSequence = 0;
-        private UInt32 _inboundPacketSequence = 0;
-
-        internal SessionSSHv2(ConnectionInfo connectionInfo, Socket socket, string serverVersion)
-            : base(connectionInfo, socket, serverVersion)
-        {
-        }
-
-        internal override void SendMessage(Message message)
-        {
-            if (!this.IsConnected)
-                return;
-
-            //  TODO:  Refactor so we lock only _outboundPacketSequence and _inboundPacketSequence relevant operations
-
-            //  Messages can be sent by different thread so we need to synchronize it
-            lock (this) //  Lock on session
-            {
-                var paddingMultiplier = this.ClientCipher == null ? (byte)8 : (byte)this.ClientCipher.BlockSize;    //    Should be recalculate base on cipher min lenght if sipher specified
-
-                //  TODO:   Maximum uncomporessed payload 32768
-                //  TOOO:   If compression specified then compress only payload
-
-                var messageData = message.GetBytes();
-
-                var packetLength = messageData.Count() + 4 + 1; //  add length bytes and padding byte
-                byte paddingLength = (byte)((-packetLength) & (paddingMultiplier - 1));
-                if (paddingLength < paddingMultiplier)
-                {
-                    paddingLength += paddingMultiplier;
-                }
-
-                //  Build Packet data
-                var packetData = new List<byte>();
-
-                //  Add packet padding length
-                packetData.Add(paddingLength);
-
-                //  Add packet payload
-                packetData.AddRange(messageData);
-
-                //  Add random padding
-                var paddingBytes = new byte[paddingLength];
-                _randomizer.GetBytes(paddingBytes);
-                packetData.AddRange(paddingBytes);
-
-                //  Insert packet length
-                packetData.InsertRange(0, BitConverter.GetBytes((uint)(packetData.Count())).Reverse());
-
-                //  Calculate packet hash
-                var hashData = new List<byte>();
-                hashData.AddRange(BitConverter.GetBytes((this._outboundPacketSequence)).Reverse());
-                hashData.AddRange(packetData);
-
-                //  Encrypt packet data
-                var encryptedData = packetData.ToList();
-                if (this.ClientCipher != null)
-                {
-                    //encryptedData = new List<byte>(this.Encrypt(packetData));
-                    encryptedData = new List<byte>(this.ClientCipher.Encrypt(packetData));
-                }
-
-                //  Add message authentication code (MAC)
-                if (this.ClientMac != null)
-                {
-                    var hash = this.ClientMac.ComputeHash(hashData.ToArray());
-
-                    encryptedData.AddRange(hash);
-                }
-
-                if (encryptedData.Count > Session.MAXIMUM_PACKET_SIZE)
-                {
-                    throw new InvalidOperationException("Packet is too big. Maximum packet size is 35000 bytes.");
-                }
-
-                this.Write(encryptedData.ToArray());
-
-                this._outboundPacketSequence++;
-            }
-        }
-
-        protected override Message ReceiveMessage()
-        {
-            if (!this.IsConnected)
-                return null;
-
-            //  No lock needed since all messages read by only one thread
-
-            List<byte> decryptedData;
-
-            //var blockSize = this.Decryption == null ? (byte)8 : (byte)this.Decryption.InputBlockSize;
-            var blockSize = this.ServerCipher == null ? (byte)8 : (byte)this.ServerCipher.BlockSize;
-
-            //  Read packet lenght first
-            var data = new List<byte>(this.Read(blockSize));
-
-            if (this.ServerCipher == null)
-            {
-                decryptedData = data.ToList();
-            }
-            else
-            {
-                //decryptedData = new List<byte>(this.Decrypt(data));
-                decryptedData = new List<byte>(this.ServerCipher.Decrypt(data));
-            }
-
-            var packetLength = BitConverter.ToUInt32(decryptedData.Take(4).Reverse().ToArray(), 0);
-
-            //  Test packet minimum and maximum boundaries
-            if (packetLength < Math.Max((byte)16, blockSize) - 4 || packetLength > Session.MAXIMUM_PACKET_SIZE - 4)
-                throw new InvalidOperationException(string.Format("Bad packet length {0}", packetLength));
-
-            //  Read rest of the packet data
-            int bytesToRead = (int)(packetLength - (blockSize - 4));
-
-            while (bytesToRead > 0)
-            {
-                data = new List<byte>(this.Read(blockSize));
-
-                if (this.ServerCipher == null)
-                {
-                    decryptedData.AddRange(data);
-                }
-                else
-                {
-                    //decryptedData.AddRange(this.Decrypt(data));
-                    decryptedData.AddRange(this.ServerCipher.Decrypt(data));
-                }
-                bytesToRead -= blockSize;
-            }
-
-            //  Validate message against MAC
-            if (this.ServerMac != null)
-            {
-                var serverHash = this.Read(this.ServerMac.HashSize / 8);
-
-                var clientHashData = new List<byte>();
-                clientHashData.AddRange(BitConverter.GetBytes(this._inboundPacketSequence).Reverse());
-                clientHashData.AddRange(decryptedData);
-
-                //  Calculate packet hash
-                var clientHash = this.ServerMac.ComputeHash(clientHashData.ToArray());
-
-                if (!serverHash.IsEqualTo(clientHash))
-                {
-                    throw new InvalidOperationException("MAC error");
-                }
-            }
-
-            //  TODO:   Issue new keys after x number of packets
-            this._inboundPacketSequence++;
-
-            var paddingLength = decryptedData[4];
-
-            return this.LoadMessage(decryptedData.Skip(5).Take((int)(packetLength - paddingLength - 1)));
-        }
-
-        private bool ValidateHash(List<byte> decryptedData, byte[] serverHash, uint packetSequence)
-        {
-            var clientHashData = new List<byte>();
-            clientHashData.AddRange(BitConverter.GetBytes(packetSequence).Reverse());
-            clientHashData.AddRange(decryptedData);
-
-            var clientHash = this.ServerMac.ComputeHash(clientHashData.ToArray());
-            if (!serverHash.IsEqualTo(clientHash))
-            {
-                return false;
-            }
-            return true;
-        }
-
-        //private IEnumerable<byte> Encrypt(List<byte> data)
-        //{
-        //    var temp = new byte[data.Count];
-        //    this.Encryption.TransformBlock(data.ToArray(), 0, data.Count, temp, 0);
-        //    return temp;
-        //}
-
-        //private IEnumerable<byte> Decrypt(List<byte> data)
-        //{
-        //    var temp = new byte[data.Count];
-        //    this.Decryption.TransformBlock(data.ToArray(), 0, data.Count, temp, 0);
-        //    return temp;
-        //}
-    }
-}

+ 0 - 69
Renci.SshClient/Renci.SshClient/Settings.cs

@@ -1,69 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Security.Cryptography;
-using Renci.SshClient.Compression;
-using Renci.SshClient.Security;
-
-namespace Renci.SshClient
-{
-    internal static class Settings
-    {
-        //public static IDictionary<string, Func<KeyExchangeAlgorithm>> KeyExchangeAlgorithms { get; private set; }
-
-        //public static IDictionary<string, Func<Cipher>> Encryptions { get; private set; }
-
-        //public static IDictionary<string, Func<IEnumerable<byte>, HMAC>> HmacAlgorithms { get; private set; }
-
-        //public static IDictionary<string, Func<Session, Compressor>> CompressionAlgorithms { get; private set; }
-
-        //public static IDictionary<string, Func<CryptoPublicKey>> HostKeyAlgorithms { get; private set; }
-
-        //public static IDictionary<string, Func<Session, UserAuthentication>> SupportedAuthenticationMethods { get; private set; }
-
-        static Settings()
-        {
-            //Settings.KeyExchangeAlgorithms = new Dictionary<string, Func<KeyExchangeAlgorithm>>()
-            //{
-            //    {"diffie-hellman-group1-sha1", () => { return new KeyExchangeDiffieHellman();}}
-            //    //"diffie-hellman-group-exchange-sha1"
-            //};
-
-            //Settings.Encryptions = new Dictionary<string, Func<Cipher>>()
-            //{
-            //    {"3des-cbc", () => { return new CipherTripleDES();}},
-            //    {"aes128-cbc", () => { return new CipherAES128CBC();}},
-            //    {"aes192-cbc", () => { return new CipherAES192CBC();}},
-            //    {"aes256-cbc", () => { return new CipherAES256CBC();}},
-            //};
-
-
-            //Settings.HmacAlgorithms = new Dictionary<string, Func<IEnumerable<byte>, HMAC>>()
-            //{
-            //    {"hmac-md5", (key) => { return new System.Security.Cryptography.HMACMD5(key.Take(16).ToArray());}},
-            //    {"hmac-sha1", (key) => { return new System.Security.Cryptography.HMACSHA1(key.Take(20).ToArray());}},
-            //};
-
-            //Settings.HostKeyAlgorithms = new Dictionary<string, Func<CryptoPublicKey>>()
-            //{
-            //    {"ssh-rsa", () => { return new CryptoPublicKeyRsa();}},
-            //    {"ssh-dsa", () => { return new CryptoPublicKeyDss();}}, //  TODO:   Need to be tested
-            //};
-
-            //Settings.SupportedAuthenticationMethods = new Dictionary<string, Func<Session, UserAuthentication>>()
-            //{
-            //    {"none", (session)=> {return new UserAuthenticationNone(session);}},
-            //    {"publickey", (session)=> {return new UserAuthenticationPublicKey(session);}},
-            //    {"password", (session)=> {return new UserAuthenticationPassword(session);}},
-            //};
-
-            //Settings.CompressionAlgorithms = new Dictionary<string, Func<Session, Compressor>>()
-            //{
-            //    {"none", (session) => { return null;}}, 
-            //    {"zlib", (session) => { return new Zlib(session);}}, 
-            //    {"zlib@openssh.com", (session) => { return new ZlibOpenSsh(session);}}, 
-            //};
-
-        }
-    }
-}

+ 0 - 273
Renci.SshClient/Renci.SshClient/Sftp.cs

@@ -1,273 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading;
-using Renci.SshClient.Channels;
-using Renci.SshClient.Common;
-using Renci.SshClient.Messages.Sftp;
-
-namespace Renci.SshClient
-{
-    public class Sftp
-    {
-        private readonly ChannelSession _channel;
-
-        private readonly Session _session;
-
-        private StringBuilder _packetData;
-
-        private uint _requestId;
-
-        private Exception _exception;
-
-        private EventWaitHandle _sftpVersionConfirmed = new AutoResetEvent(false);
-
-        private EventWaitHandle _sessionErrorOccuredWaitHandle = new AutoResetEvent(false);
-
-        private IDictionary<uint, Action<SftpRequestMessage>> _requestActions;
-
-        private string _remoteCurrentDir;
-
-        public int OperationTimeout { get; set; }
-
-        internal Sftp(Session session)
-        {
-            this.OperationTimeout = -1;
-            this._requestActions = new Dictionary<uint, Action<SftpRequestMessage>>();
-            this._session = session;
-            this._session.ErrorOccured += Session_ErrorOccured;
-            this._session.Disconnected += Session_Disconnected;
-            this._channel = session.CreateChannel<ChannelSession>();
-            this._channel.DataReceived += Channel_DataReceived;
-            this._channel.Open();
-            this._channel.SendSubsystemRequest("sftp");
-
-            this.SendMessage(new InitMessage
-            {
-                Version = 3,
-            });
-
-            this.WaitHandle(this._sftpVersionConfirmed);
-
-            this.SendMessage(new RealPathMessage
-            {
-                Path = ".",
-            }, (m) =>
-            {
-                var nameMessage = m as NameMessage;
-                if (nameMessage != null)
-                {
-                    this._remoteCurrentDir = nameMessage.Files.First().Name;
-                }
-                else
-                {
-                    throw new InvalidOperationException("");
-                }
-            });
-        }
-
-        public IAsyncResult BeginListDirectory(string path, AsyncCallback callback, object state)
-        {
-            var asyncResult = new SftpAsyncResult(this._channel, callback, state);
-
-            this.SendMessage(new OpenDirMessage(path), (m) =>
-                {
-                    var message = m as HandleMessage;
-                    if (message == null)
-                        throw new InvalidOperationException("Handle message is not expected.");
-
-                    this.SendMessage(new ReadDirMessage(message.Handle), (m1) =>
-                    {
-                        var message1 = m1 as NameMessage;
-                        if (message1 == null)
-                            throw new InvalidOperationException("Handle message is not expected.");
-                        asyncResult.Names = message1.Files;
-                        asyncResult.IsCompleted = true;
-                    });
-                });
-
-            return asyncResult;
-
-
-        }
-
-        public IEnumerable<FtpFileInfo> EndListDirectory(IAsyncResult result)
-        {
-            var r = result as SftpAsyncResult;
-            if (r == null)
-            {
-                throw new ArgumentException("Invalid IAsyncResult parameter.");
-            }
-
-            r.AsyncWaitHandle.WaitOne();
-
-            return r.Names;
-        }
-
-
-        private void Channel_DataReceived(object sender, Common.ChannelDataEventArgs e)
-        {
-            if (this._packetData == null)
-            {
-                var packetLength = (uint)(e.Data[0] << 24 | e.Data[1] << 16 | e.Data[2] << 8 | e.Data[3]);
-
-                this._packetData = new StringBuilder((int)packetLength, (int)packetLength);
-                this._packetData.Append(e.Data.GetSshBytes().Skip(4).GetSshString());
-            }
-            else
-            {
-                this._packetData.Append(e.Data);
-            }
-
-            if (this._packetData.Length < this._packetData.MaxCapacity)
-            {
-                //  Wait for more packet data
-                return;
-            }
-
-            dynamic sftpMessage = SftpMessage.Load(this._packetData.ToString().GetSshBytes());
-
-            this._packetData = null;
-
-            this.HandleMessage(sftpMessage);
-        }
-
-        private void HandleMessage(InitMessage message)
-        {
-            throw new InvalidOperationException("Init message should not be received by client.");
-        }
-
-        private void HandleMessage(VersionMessage message)
-        {
-            if (message.Version == 3)
-            {
-                this._sftpVersionConfirmed.Set();
-            }
-            else
-            {
-                throw new NotSupportedException(string.Format("Server SFTP version {0} is not supported.", message.Version));
-            }
-        }
-
-        private void HandleMessage(SftpRequestMessage message)
-        {
-            if (this._requestActions.ContainsKey(message.RequestId))
-            {
-                var action = this._requestActions[message.RequestId];
-                action(message);
-                this._requestActions.Remove(message.RequestId);
-            }
-            else
-            {
-                throw new InvalidOperationException(string.Format("Request #{0} is invalid.", message.RequestId));
-            }
-        }
-
-        private void Session_Disconnected(object sender, EventArgs e)
-        {
-        }
-
-        private void Session_ErrorOccured(object sender, ErrorEventArgs e)
-        {
-            this._exception = e.GetException();
-
-            this._sessionErrorOccuredWaitHandle.Set();
-        }
-
-        private void SendMessage(SftpMessage sftpMessage)
-        {
-            var message = new SftpDataMessage
-            {
-                LocalChannelNumber = this._channel.RemoteChannelNumber,
-                Message = sftpMessage,
-            };
-
-            this._session.SendMessage(message);
-        }
-
-        private void SendMessage(SftpRequestMessage sftpMessage, Action<SftpRequestMessage> action)
-        {
-            sftpMessage.RequestId = this._requestId++;
-
-            var message = new SftpDataMessage
-            {
-                LocalChannelNumber = this._channel.RemoteChannelNumber,
-                Message = sftpMessage,
-            };
-
-            this._session.SendMessage(message);
-
-            this._requestActions.Add(sftpMessage.RequestId, action);
-        }
-
-        private void WaitHandle(WaitHandle waitHandle)
-        {
-            var waitHandles = new WaitHandle[]
-                {
-                    this._sessionErrorOccuredWaitHandle,
-                    waitHandle,
-                };
-
-            var index = EventWaitHandle.WaitAny(waitHandles, this.OperationTimeout);
-
-            if (index < 1)
-            {
-                throw this._exception;
-            }
-            else if (index > 1)
-            {
-                //  throw time out error
-                throw new SshOperationTimeoutException(string.Format("Sftp operation has timed out."));
-            }
-        }
-
-
-        //public void UploadFile(Stream source, string fileName)
-        //{
-        //    this.Channel.UploadFile(source, fileName);
-        //}
-
-        //public void UploadFile(string source, string fileName)
-        //{
-        //    using (var sourceFile = File.OpenRead(source))
-        //    {
-        //        this.Channel.UploadFile(sourceFile, fileName);
-        //    }
-        //}
-
-        //public void DownloadFile(string fileName, Stream destination)
-        //{
-        //    this.Channel.DownloadFile(fileName, destination);
-        //}
-
-        //public void DownloadFile(string fileName, string destination)
-        //{
-        //    using (var destinationFile = File.Create(destination))
-        //    {
-        //        this.Channel.DownloadFile(fileName, destinationFile);
-        //    }
-        //}
-
-        //public void RemoveFile(string fileName)
-        //{
-        //    this.Channel.RemoveFile(fileName);
-        //}
-
-        //public void RenameFile(string oldFileName, string newFileName)
-        //{
-        //    this.Channel.RenameFile(oldFileName, newFileName);
-        //}
-
-        //public void CreateDirectory(string directoryName)
-        //{
-        //    this.Channel.CreateDirectory(directoryName);
-        //}
-
-        //public void RemoveDirectory(string directoryName)
-        //{
-        //    this.Channel.RemoveDirectory(directoryName);
-        //}
-    }
-}

+ 0 - 35
Renci.SshClient/Renci.SshClient/Sftp/FileStatusCommand.cs

@@ -1,35 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Renci.SshClient.Sftp.Messages;
-
-namespace Renci.SshClient.Sftp
-{
-    internal class FileStatusCommand : SftpCommand
-    {
-        private string _path;
-
-        public SftpFile SftpFile { get; private set; }
-
-        public FileStatusCommand(SftpSession sftpSession, string path)
-            : base(sftpSession)
-        {
-            this._path = path;
-        }
-
-        protected override void OnExecute()
-        {
-            this.SendStatMessage(this._path);
-        }
-
-        protected override void OnAttributes(Attributes attributes)
-        {
-            base.OnAttributes(attributes);
-
-            this.SftpFile = new SftpFile(this._path, attributes);
-
-            this.CompleteExecution();
-        }
-    }
-}

+ 0 - 29
Renci.SshClient/Renci.SshClient/Sftp/Messages/FSetStat.cs

@@ -1,29 +0,0 @@
-
-namespace Renci.SshClient.Sftp.Messages
-{
-    internal class FSetStat : SftpRequestMessage
-    {
-        public override SftpMessageTypes SftpMessageType
-        {
-            get { return SftpMessageTypes.FSetStat; }
-        }
-
-        public string Handle { get; set; }
-
-        public SftpFileAttributes Attributes { get; set; }
-
-        protected override void LoadData()
-        {
-            base.LoadData();
-            this.Handle = this.ReadString();
-            this.Attributes = this.ReadAttributes();
-        }
-
-        protected override void SaveData()
-        {
-            base.SaveData();
-            this.Write(this.Handle);
-            this.Write(this.Attributes);
-        }
-    }
-}

+ 0 - 7
Renci.SshClient/Renci.SshClient/Sftp/SftpFileAttributes.cs

@@ -1,7 +0,0 @@
-
-namespace Renci.SshClient.Sftp
-{
-    public class SftpFileAttributes
-    {
-    }
-}

+ 0 - 58
Renci.SshClient/Renci.SshClient/SftpAsyncResult.cs

@@ -1,58 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Threading;
-using Renci.SshClient.Common;
-
-namespace Renci.SshClient
-{
-    public class SftpAsyncResult : IAsyncResult
-    {
-        private bool _isCompleted;
-
-        private Channels.ChannelSession _channelSession;
-
-        private AsyncCallback _callback;
-
-        private EventWaitHandle _completedWaitHandle = new ManualResetEvent(false);
-
-        public IList<FtpFileInfo> Names { get; internal set; }
-
-        internal SftpAsyncResult(Channels.ChannelSession channelSession, AsyncCallback callback, object state)
-        {
-            this._channelSession = channelSession;
-            this._callback = callback;
-            this.AsyncState = state;
-            this.AsyncWaitHandle = _completedWaitHandle;
-        }
-
-        #region IAsyncResult Members
-
-        public object AsyncState { get; private set; }
-
-        public WaitHandle AsyncWaitHandle { get; private set; }
-
-        public bool CompletedSynchronously { get; private set; }
-
-        public bool IsCompleted
-        {
-            get
-            {
-                return this._isCompleted;
-            }
-            internal set
-            {
-                this._isCompleted = value;
-                if (value)
-                {
-                    if (this._callback != null)
-                    {
-                        this._callback(this);
-                    }
-                    this._completedWaitHandle.Set();
-                }
-            }
-        }
-
-        #endregion
-    }
-}

+ 0 - 69
Renci.SshClient/Renci.SshClient/SshBase.cs

@@ -1,69 +0,0 @@
-
-namespace Renci.SshClient
-{
-    public abstract class SshBase
-    {
-        public ConnectionInfo ConnectionInfo { get; private set; }
-
-        internal Session Session { get; private set; }
-
-        public SshBase(ConnectionInfo connectionInfo)
-        {
-            this.ConnectionInfo = connectionInfo;
-            this.Session = new Session(this.ConnectionInfo);
-        }
-
-        public SshBase(string host, int port, string username, string password)
-            : this(new ConnectionInfo
-            {
-                Host = host,
-                Port = port,
-                Username = username,
-                Password = password,
-            })
-        {
-        }
-
-        public SshBase(string host, string username, string password)
-            : this(new ConnectionInfo
-            {
-                Host = host,
-                Username = username,
-                Password = password,
-            })
-        {
-        }
-
-        public SshBase(string host, int port, string username, PrivateKeyFile keyFile)
-            : this(new ConnectionInfo
-            {
-                Host = host,
-                Port = port,
-                Username = username,
-                KeyFile = keyFile,
-            })
-        {
-        }
-
-        public SshBase(string host, string username, PrivateKeyFile keyFile)
-            : this(new ConnectionInfo
-            {
-                Host = host,
-                Username = username,
-                KeyFile = keyFile,
-            })
-        {
-        }
-
-        public void Connect()
-        {
-            this.Session.Connect();
-        }
-
-        public virtual void Disconnect()
-        {
-            this.Session.Disconnect();
-        }
-
-    }
-}

+ 0 - 20
Renci.SshClient/Renci.SshClient/UserAuthentication.cs

@@ -1,20 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace Renci.SshClient
-{
-    public class UserAuthentication2
-    {
-        private Session _session;
-
-        public string Username { get; set; }
-
-        internal UserAuthentication2(Session session)
-        {
-            this._session = session;
-            this.Username = session.ConnectionInfo.Username;
-        }
-    }
-}

+ 0 - 10
Renci.SshClient/Renci.SshNet.NET35/Renci.SshNet.NET35.csproj.vspscc

@@ -1,10 +0,0 @@
-""
-{
-"FILE_VERSION" = "9237"
-"ENLISTMENT_CHOICE" = "NEVER"
-"PROJECT_FILE_RELATIVE_PATH" = ""
-"NUMBER_OF_EXCLUDED_FILES" = "0"
-"ORIGINAL_PROJECT_FILE_PATH" = ""
-"NUMBER_OF_NESTED_PROJECTS" = "0"
-"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
-}

+ 0 - 10
Renci.SshClient/Renci.SshNet.Silverlight/Renci.SshNet.Silverlight.csproj.vspscc

@@ -1,10 +0,0 @@
-""
-{
-"FILE_VERSION" = "9237"
-"ENLISTMENT_CHOICE" = "NEVER"
-"PROJECT_FILE_RELATIVE_PATH" = ""
-"NUMBER_OF_EXCLUDED_FILES" = "0"
-"ORIGINAL_PROJECT_FILE_PATH" = ""
-"NUMBER_OF_NESTED_PROJECTS" = "0"
-"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
-}

+ 0 - 10
Renci.SshClient/Renci.SshNet.Tests.NET35/Renci.SshNet.Tests.NET35.csproj.vspscc

@@ -1,10 +0,0 @@
-""
-{
-"FILE_VERSION" = "9237"
-"ENLISTMENT_CHOICE" = "NEVER"
-"PROJECT_FILE_RELATIVE_PATH" = ""
-"NUMBER_OF_EXCLUDED_FILES" = "0"
-"ORIGINAL_PROJECT_FILE_PATH" = ""
-"NUMBER_OF_NESTED_PROJECTS" = "0"
-"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
-}

+ 0 - 10
Renci.SshClient/Renci.SshNet.Tests/Renci.SshNet.Tests.csproj.vspscc

@@ -1,10 +0,0 @@
-""
-{
-"FILE_VERSION" = "9237"
-"ENLISTMENT_CHOICE" = "NEVER"
-"PROJECT_FILE_RELATIVE_PATH" = ""
-"NUMBER_OF_EXCLUDED_FILES" = "0"
-"ORIGINAL_PROJECT_FILE_PATH" = ""
-"NUMBER_OF_NESTED_PROJECTS" = "0"
-"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
-}

+ 0 - 10
Renci.SshClient/Renci.SshNet.WindowsPhone/Renci.SshNet.WindowsPhone.csproj.vspscc

@@ -1,10 +0,0 @@
-""
-{
-"FILE_VERSION" = "9237"
-"ENLISTMENT_CHOICE" = "NEVER"
-"PROJECT_FILE_RELATIVE_PATH" = ""
-"NUMBER_OF_EXCLUDED_FILES" = "0"
-"ORIGINAL_PROJECT_FILE_PATH" = ""
-"NUMBER_OF_NESTED_PROJECTS" = "0"
-"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
-}

+ 0 - 10
Renci.SshClient/Renci.SshNet.WindowsPhone8/Renci.SshNet.WindowsPhone8.csproj.vspscc

@@ -1,10 +0,0 @@
-""
-{
-"FILE_VERSION" = "9237"
-"ENLISTMENT_CHOICE" = "NEVER"
-"PROJECT_FILE_RELATIVE_PATH" = ""
-"NUMBER_OF_EXCLUDED_FILES" = "0"
-"ORIGINAL_PROJECT_FILE_PATH" = ""
-"NUMBER_OF_NESTED_PROJECTS" = "0"
-"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
-}

+ 0 - 10
Renci.SshClient/Renci.SshNet.vssscc

@@ -1,10 +0,0 @@
-""
-{
-"FILE_VERSION" = "9237"
-"ENLISTMENT_CHOICE" = "NEVER"
-"PROJECT_FILE_RELATIVE_PATH" = ""
-"NUMBER_OF_EXCLUDED_FILES" = "0"
-"ORIGINAL_PROJECT_FILE_PATH" = ""
-"NUMBER_OF_NESTED_PROJECTS" = "0"
-"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROJECT"
-}

+ 0 - 10
Renci.SshClient/Renci.SshNet/Renci.SshNet.csproj.vspscc

@@ -1,10 +0,0 @@
-""
-{
-"FILE_VERSION" = "9237"
-"ENLISTMENT_CHOICE" = "NEVER"
-"PROJECT_FILE_RELATIVE_PATH" = ""
-"NUMBER_OF_EXCLUDED_FILES" = "0"
-"ORIGINAL_PROJECT_FILE_PATH" = ""
-"NUMBER_OF_NESTED_PROJECTS" = "0"
-"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
-}

+ 33 - 33
Renci.SshClient/Build/build.cmd → build/build.cmd

@@ -1,33 +1,33 @@
-@echo off
-
-rem We use the version of MSBuild that is included in .NET 4.0 / 4.5
-set MSBUILD_HOME=%WINDIR%\Microsoft.NET\Framework\v4.0.30319
-
-rem MSBuild project file is located in the same directory as the current script
-set MSBUILD_PROJECT=%~dp0\build.proj
-
-set MSBUILD_EXE=%MSBUILD_HOME%\msbuild.exe
-
-rem verify whether the version of MSBuild that we need is installed
-if not exist %MSBUILD_EXE% goto msbuild_missing
-
-rem launch the build script
-call %MSBUILD_HOME%\msbuild.exe %MSBUILD_PROJECT% /verbosity:minimal /nologo
-if errorlevel 1 goto msbuild_failure
-goto :EOF
-
-:msbuild_missing
-echo.
-echo Build FAILED.
-echo.
-echo MSBuild is not available in the following directory:
-echo %MSBUILD_HOME%
-echo.
-echo Please check your local setup.
-goto :EOF
-
-:msbuild_failure
-echo.
-echo Build FAILED.
-echo.
-echo Please check the MSBuild output for information on the cause.
+@echo off
+
+rem We use the version of MSBuild that is included in .NET 4.0 / 4.5
+set MSBUILD_HOME=%WINDIR%\Microsoft.NET\Framework\v4.0.30319
+
+rem MSBuild project file is located in the same directory as the current script
+set MSBUILD_PROJECT=%~dp0\build.proj
+
+set MSBUILD_EXE=%MSBUILD_HOME%\msbuild.exe
+
+rem verify whether the version of MSBuild that we need is installed
+if not exist %MSBUILD_EXE% goto msbuild_missing
+
+rem launch the build script
+call %MSBUILD_HOME%\msbuild.exe %MSBUILD_PROJECT% /verbosity:minimal /nologo
+if errorlevel 1 goto msbuild_failure
+goto :EOF
+
+:msbuild_missing
+echo.
+echo Build FAILED.
+echo.
+echo MSBuild is not available in the following directory:
+echo %MSBUILD_HOME%
+echo.
+echo Please check your local setup.
+goto :EOF
+
+:msbuild_failure
+echo.
+echo Build FAILED.
+echo.
+echo Please check the MSBuild output for information on the cause.

+ 74 - 74
Renci.SshClient/Build/build.proj → build/build.proj

@@ -1,75 +1,75 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Clean;CreatePackage;GenerateHelpFile;GenerateSourceZip" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-	<PropertyGroup>
-		<Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
-		<BuildRoot>$(MSBuildThisFileDirectory)</BuildRoot>
-		<NuGetExe>$(BuildRoot)nuget\nuget.exe</NuGetExe>
-		<MSBuildCommunityTasksPath>$(MSBuildThisFileDirectory)msbuild</MSBuildCommunityTasksPath>
-	</PropertyGroup>
-	<ItemGroup>
-		<TargetFramework Include=".NET Framework 3.5">
-			<Project>Renci.SshNet.NET35</Project>
-			<Moniker>net35</Moniker>
-		</TargetFramework>
-		<TargetFramework Include=".NET Framework 4.0">
-			<Project>Renci.SshNet</Project>
-			<Moniker>net40</Moniker>
-		</TargetFramework>
-		<TargetFramework Include="Windows Phone 7.1">
-			<Project>Renci.SshNet.WindowsPhone</Project>
-			<Moniker>sl4-windowsphone71</Moniker>
-		</TargetFramework>
-		<TargetFramework Include="Windows Phone 8.0">
-			<Project>Renci.SshNet.WindowsPhone8</Project>
-			<Moniker>windowsphone8</Moniker>
-		</TargetFramework>
-		<TargetFramework Include="Silverlight 4">
-			<Project>Renci.SshNet.Silverlight</Project>
-			<Moniker>sl4</Moniker>
-		</TargetFramework>
-		<TargetFramework Include="Silverlight 5">
-			<Project>Renci.SshNet.Silverlight5</Project>
-			<Moniker>sl5</Moniker>
-		</TargetFramework>
-	</ItemGroup>
-	<Import Project="$(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.Targets"/>
-	<Target Name="Clean">
-		<RemoveDir Directories="$(MSBuildThisFileDirectory)target"/>
-	</Target>
-	
-	<Target Name="Build">
-		<ItemGroup>
-			<ProjectToBuild Include="$(MSBuildThisFileDirectory)..\Renci.SshNet.sln">
-				<Properties>Configuration=Release</Properties>
-			</ProjectToBuild>
-		</ItemGroup>
-		<MSBuild Projects="@(ProjectToBuild)" Targets="Rebuild"/>
-	</Target>
-	
-	<Target Name="CreatePackage" DependsOnTargets="CopyBuildOutputToPackage">
-		<Exec Command="$(NuGetExe) pack $(MSBuildThisFileDirectory)nuget\SSH.NET.nuspec -OutputDirectory &quot;$(MSBuildThisFileDirectory)target&quot; -BasePath &quot;$(MSBuildThisFileDirectory)target\package&quot; -NonInteractive"/>
-	</Target>
-	<Target Name="CopyBuildOutputToPackage" DependsOnTargets="Build" Outputs="%(TargetFramework.Identity)">
-		<ItemGroup>
-			<BuildOutput Remove="@(BuildOutput)"/>
-			<BuildOutput Include="$(MSBuildThisFileDirectory)..\%(TargetFramework.Project)\bin\$(Configuration)\Renci.SshNet.dll"/>
-			<BuildOutput Include="$(MSBuildThisFileDirectory)..\%(TargetFramework.Project)\bin\$(Configuration)\Renci.SshNet.xml"/>
-		</ItemGroup>
-		<Copy SourceFiles="@(BuildOutput)" DestinationFolder="$(MSBuildThisFileDirectory)target\package\lib\%(TargetFramework.Moniker)"/>
-	</Target>
-	<Target Name="GenerateHelpFile" DependsOnTargets="Build">
-		<MSBuild Projects="$(MSBuildThisFileDirectory)sandcastle\SSH.NET.shfbproj"/>
-	</Target>
-	
-	<Target Name="GenerateSourceZip">
-		<ItemGroup>
-			<SourceFiles Include="$(MSBuildThisFileDirectory)..\Renci.SshNet\**" Exclude="$(MSBuildThisFileDirectory)..\Renci.SshNet\bin\**;$(MSBuildThisFileDirectory)..\Renci.SshNet\obj\**"/>
-			<SourceFiles Include="$(MSBuildThisFileDirectory)..\Renci.SshNet.snk"/>
-		</ItemGroup>
-		<Zip
-			Files="@(SourceFiles)"
-			WorkingDirectory="$(MSBuildThisFileDirectory).."
-			ZipFileName="$(MSBuildThisFileDirectory)target\Renci.SshNet.zip"
-			ZipLevel="9" />
-	</Target>
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Clean;CreatePackage;GenerateHelpFile;GenerateSourceZip" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+	<PropertyGroup>
+		<Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
+		<BuildRoot>$(MSBuildThisFileDirectory)</BuildRoot>
+		<NuGetExe>$(BuildRoot)nuget\nuget.exe</NuGetExe>
+		<MSBuildCommunityTasksPath>$(MSBuildThisFileDirectory)msbuild</MSBuildCommunityTasksPath>
+	</PropertyGroup>
+	<ItemGroup>
+		<TargetFramework Include=".NET Framework 3.5">
+			<Project>Renci.SshNet.NET35</Project>
+			<Moniker>net35</Moniker>
+		</TargetFramework>
+		<TargetFramework Include=".NET Framework 4.0">
+			<Project>Renci.SshNet</Project>
+			<Moniker>net40</Moniker>
+		</TargetFramework>
+		<TargetFramework Include="Windows Phone 7.1">
+			<Project>Renci.SshNet.WindowsPhone</Project>
+			<Moniker>sl4-windowsphone71</Moniker>
+		</TargetFramework>
+		<TargetFramework Include="Windows Phone 8.0">
+			<Project>Renci.SshNet.WindowsPhone8</Project>
+			<Moniker>windowsphone8</Moniker>
+		</TargetFramework>
+		<TargetFramework Include="Silverlight 4">
+			<Project>Renci.SshNet.Silverlight</Project>
+			<Moniker>sl4</Moniker>
+		</TargetFramework>
+		<TargetFramework Include="Silverlight 5">
+			<Project>Renci.SshNet.Silverlight5</Project>
+			<Moniker>sl5</Moniker>
+		</TargetFramework>
+	</ItemGroup>
+	<Import Project="$(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.Targets"/>
+	<Target Name="Clean">
+		<RemoveDir Directories="$(MSBuildThisFileDirectory)target"/>
+	</Target>
+	
+	<Target Name="Build">
+		<ItemGroup>
+			<ProjectToBuild Include="$(MSBuildThisFileDirectory)..\Renci.SshNet.sln">
+				<Properties>Configuration=Release</Properties>
+			</ProjectToBuild>
+		</ItemGroup>
+		<MSBuild Projects="@(ProjectToBuild)" Targets="Rebuild"/>
+	</Target>
+	
+	<Target Name="CreatePackage" DependsOnTargets="CopyBuildOutputToPackage">
+		<Exec Command="$(NuGetExe) pack $(MSBuildThisFileDirectory)nuget\SSH.NET.nuspec -OutputDirectory &quot;$(MSBuildThisFileDirectory)target&quot; -BasePath &quot;$(MSBuildThisFileDirectory)target\package&quot; -NonInteractive"/>
+	</Target>
+	<Target Name="CopyBuildOutputToPackage" DependsOnTargets="Build" Outputs="%(TargetFramework.Identity)">
+		<ItemGroup>
+			<BuildOutput Remove="@(BuildOutput)"/>
+			<BuildOutput Include="$(MSBuildThisFileDirectory)..\%(TargetFramework.Project)\bin\$(Configuration)\Renci.SshNet.dll"/>
+			<BuildOutput Include="$(MSBuildThisFileDirectory)..\%(TargetFramework.Project)\bin\$(Configuration)\Renci.SshNet.xml"/>
+		</ItemGroup>
+		<Copy SourceFiles="@(BuildOutput)" DestinationFolder="$(MSBuildThisFileDirectory)target\package\lib\%(TargetFramework.Moniker)"/>
+	</Target>
+	<Target Name="GenerateHelpFile" DependsOnTargets="Build">
+		<MSBuild Projects="$(MSBuildThisFileDirectory)sandcastle\SSH.NET.shfbproj"/>
+	</Target>
+	
+	<Target Name="GenerateSourceZip">
+		<ItemGroup>
+			<SourceFiles Include="$(MSBuildThisFileDirectory)..\Renci.SshNet\**" Exclude="$(MSBuildThisFileDirectory)..\Renci.SshNet\bin\**;$(MSBuildThisFileDirectory)..\Renci.SshNet\obj\**"/>
+			<SourceFiles Include="$(MSBuildThisFileDirectory)..\Renci.SshNet.snk"/>
+		</ItemGroup>
+		<Zip
+			Files="@(SourceFiles)"
+			WorkingDirectory="$(MSBuildThisFileDirectory).."
+			ZipFileName="$(MSBuildThisFileDirectory)target\Renci.SshNet.zip"
+			ZipLevel="9" />
+	</Target>
 </Project>

+ 151 - 151
Renci.SshClient/Build/msbuild/MSBuild.Community.Tasks.Targets → build/msbuild/MSBuild.Community.Tasks.Targets

@@ -1,151 +1,151 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <!-- $Id$ -->
-
-  <PropertyGroup>
-    <MSBuildCommunityTasksPath Condition="'$(MSBuildCommunityTasksPath)' == ''">$(MSBuildExtensionsPath)\MSBuildCommunityTasks</MSBuildCommunityTasksPath>
-    <MSBuildCommunityTasksLib>$([MSBUILD]::Unescape($(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.dll))</MSBuildCommunityTasksLib>
-  </PropertyGroup>
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.AspNet.InstallAspNet" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.AssemblyInfo" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Attrib" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Beep" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.DeleteTree" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.EmbedNativeResource" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SqlExecute" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.FileUpdate" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.FtpUpload" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.FxCop" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.GacUtil" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.GetSolutionProjects" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.ILMerge" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Mail" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Merge" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.MV" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Ftp.FtpCreateRemoteDirectory" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Ftp.FtpDirectoryExists" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Ftp.FtpUploadDirectoryContent" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Math.Add" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Math.Divide" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Math.Modulo" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Math.Multiple" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Math.Subtract" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.NDoc" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.NUnit" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Oracle.AddTnsName" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Prompt" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.RegistryRead" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.RegistryWrite" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.RegexMatch" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.RegexReplace" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.RegexCompiler" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.RoboCopy" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Script" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.ServiceController" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.ServiceQuery" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Sleep" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.IIS.AppPoolController" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.IIS.AppPoolCreate" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.IIS.AppPoolDelete" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.IIS.WebDirectoryCreate" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.IIS.WebDirectoryDelete" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.IIS.WebDirectorySetting" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Install.InstallAssembly" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Install.UninstallAssembly" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Schema.TaskSchema" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Sound" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssAdd" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssCheckin" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssCheckout" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssClean" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssDiff" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssGet" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssHistory" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssLabel" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssUndoCheckout" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceServer.SrcTool" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceServer.PdbStr" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceServer.SvnSourceIndex" />
-  
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SqlServer.ExecuteDDL" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SqlServer.SqlPubWiz" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnCheckout" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnClient" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnCopy" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnCommit" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnExport" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnInfo" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnUpdate" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnVersion" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnStatus" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Tfs.TfsClient" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.TemplateFile" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Time" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Unzip" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Version" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.WebDownload" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Xml.XmlMassUpdate" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Xml.XmlQuery" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.XmlRead" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.XmlUpdate" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Xslt" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Zip" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.JavaScript.JSCompress" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.User" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Computer" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Sandcastle.BuildAssembler" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Sandcastle.ChmBuilder" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Sandcastle.DBCSFix" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Sandcastle.MRefBuilder" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Sandcastle.Sandcastle" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Sandcastle.XslTransform" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.HtmlHelp.ChmCompiler" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.HtmlHelp.HxCompiler" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SymbolServer.SymStore" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Net.HttpRequest" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.NuGet.NuGetPack" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.NuGet.NuGetPush" />
-
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Git.GitClient" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Git.GitVersion" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Git.GitBranch" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Git.GitDescribe" />
-  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Git.GitPendingChanges" />
-
-  <ItemGroup>
-    <FxCopRuleAssemblies Include="UsageRules.dll"/>
-    <FxCopRuleAssemblies Include="SecurityRules.dll"/>
-    <FxCopRuleAssemblies Include="PortabilityRules.dll"/>
-    <FxCopRuleAssemblies Include="PerformanceRules.dll"/>
-    <FxCopRuleAssemblies Include="MobilityRules.dll"/>
-    <FxCopRuleAssemblies Include="InteroperabilityRules.dll"/>
-    <FxCopRuleAssemblies Include="GlobalizationRules.dll"/>
-    <FxCopRuleAssemblies Include="DesignRules.dll"/>
-  </ItemGroup>
-</Project>
+<?xml version="1.0" encoding="utf-8" ?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <!-- $Id$ -->
+
+  <PropertyGroup>
+    <MSBuildCommunityTasksPath Condition="'$(MSBuildCommunityTasksPath)' == ''">$(MSBuildExtensionsPath)\MSBuildCommunityTasks</MSBuildCommunityTasksPath>
+    <MSBuildCommunityTasksLib>$([MSBUILD]::Unescape($(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.dll))</MSBuildCommunityTasksLib>
+  </PropertyGroup>
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.AspNet.InstallAspNet" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.AssemblyInfo" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Attrib" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Beep" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.DeleteTree" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.EmbedNativeResource" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SqlExecute" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.FileUpdate" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.FtpUpload" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.FxCop" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.GacUtil" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.GetSolutionProjects" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.ILMerge" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Mail" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Merge" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.MV" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Ftp.FtpCreateRemoteDirectory" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Ftp.FtpDirectoryExists" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Ftp.FtpUploadDirectoryContent" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Math.Add" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Math.Divide" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Math.Modulo" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Math.Multiple" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Math.Subtract" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.NDoc" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.NUnit" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Oracle.AddTnsName" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Prompt" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.RegistryRead" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.RegistryWrite" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.RegexMatch" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.RegexReplace" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.RegexCompiler" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.RoboCopy" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Script" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.ServiceController" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.ServiceQuery" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Sleep" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.IIS.AppPoolController" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.IIS.AppPoolCreate" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.IIS.AppPoolDelete" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.IIS.WebDirectoryCreate" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.IIS.WebDirectoryDelete" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.IIS.WebDirectorySetting" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Install.InstallAssembly" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Install.UninstallAssembly" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Schema.TaskSchema" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Sound" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssAdd" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssCheckin" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssCheckout" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssClean" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssDiff" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssGet" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssHistory" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssLabel" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceSafe.VssUndoCheckout" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceServer.SrcTool" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceServer.PdbStr" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SourceServer.SvnSourceIndex" />
+  
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SqlServer.ExecuteDDL" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SqlServer.SqlPubWiz" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnCheckout" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnClient" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnCopy" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnCommit" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnExport" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnInfo" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnUpdate" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnVersion" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Subversion.SvnStatus" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Tfs.TfsClient" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.TemplateFile" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Time" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Unzip" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Version" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.WebDownload" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Xml.XmlMassUpdate" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Xml.XmlQuery" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.XmlRead" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.XmlUpdate" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Xslt" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Zip" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.JavaScript.JSCompress" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.User" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Computer" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Sandcastle.BuildAssembler" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Sandcastle.ChmBuilder" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Sandcastle.DBCSFix" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Sandcastle.MRefBuilder" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Sandcastle.Sandcastle" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Sandcastle.XslTransform" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.HtmlHelp.ChmCompiler" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.HtmlHelp.HxCompiler" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.SymbolServer.SymStore" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Net.HttpRequest" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.NuGet.NuGetPack" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.NuGet.NuGetPush" />
+
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Git.GitClient" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Git.GitVersion" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Git.GitBranch" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Git.GitDescribe" />
+  <UsingTask AssemblyFile="$(MSBuildCommunityTasksLib)" TaskName="MSBuild.Community.Tasks.Git.GitPendingChanges" />
+
+  <ItemGroup>
+    <FxCopRuleAssemblies Include="UsageRules.dll"/>
+    <FxCopRuleAssemblies Include="SecurityRules.dll"/>
+    <FxCopRuleAssemblies Include="PortabilityRules.dll"/>
+    <FxCopRuleAssemblies Include="PerformanceRules.dll"/>
+    <FxCopRuleAssemblies Include="MobilityRules.dll"/>
+    <FxCopRuleAssemblies Include="InteroperabilityRules.dll"/>
+    <FxCopRuleAssemblies Include="GlobalizationRules.dll"/>
+    <FxCopRuleAssemblies Include="DesignRules.dll"/>
+  </ItemGroup>
+</Project>

+ 0 - 0
Renci.SshClient/Build/msbuild/MSBuild.Community.Tasks.dll → build/msbuild/MSBuild.Community.Tasks.dll


+ 0 - 0
Renci.SshClient/Build/msbuild/MSBuild.Community.Tasks.pdb → build/msbuild/MSBuild.Community.Tasks.pdb


+ 10846 - 10846
Renci.SshClient/Build/msbuild/MSBuild.Community.Tasks.xml → build/msbuild/MSBuild.Community.Tasks.xml

@@ -1,10846 +1,10846 @@
-<?xml version="1.0"?>
-<doc>
-    <assembly>
-        <name>MSBuild.Community.Tasks</name>
-    </assembly>
-    <members>
-        <member name="T:MSBuild.Community.Tasks.AspNet.InstallAspNet">
-            <summary>
-            Installs and register script mappings for ASP.NET
-            </summary>
-            <remarks>Uses the aspnet_regiis.exe tool included with the .NET Framework.</remarks>
-            <example>
-      Install the latest version of ASP.NET on the server:
-      <code>
-        <![CDATA[ <InstallAspNet /> ]]>
-      </code>
-    </example><example>
-      Install the latest version of ASP.NET on the server, but do not update script maps:
-      <code>
-        <![CDATA[ <InstallAspNet ApplyScriptMaps="Never" /> ]]>
-      </code>
-    </example><example>
-      Install the script maps for ASP.NET 2.0 on a web directory on the default website:
-      <code>
-        <![CDATA[ <InstallAspNet Path="MyApplication" Version="Version20" /> ]]>
-      </code>
-    </example><example>
-      Install the script maps for ASP.NET 1.1 on a web directory on a non-default website:
-      <code>
-        <![CDATA[ <InstallAspNet Path="MyApplication" Version="W3SVC/3/Root/Version11" /> ]]>
-      </code>
-    </example><example>
-      Install client side script only for the latest version:
-      <code>
-        <![CDATA[ <InstallAspNet ClientScriptsOnly="True" /> ]]>
-      </code>
-    </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.AspNet.InstallAspNet.GenerateFullPathToTool">
-            <summary>
-            Returns the fully qualified path to the executable file.
-            </summary>
-            <returns>
-            The fully qualified path to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.AspNet.InstallAspNet.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments 
-            to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass 
-            directly to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.AspNet.InstallAspNet.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            True if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.AspNet.InstallAspNet.IsValidPropertyCombinations">
-            <summary>
-            Determines if the current property values can be used together
-            </summary>
-            <returns><see langword="true"/> when properties can be used together.</returns>
-            <exclude />
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.Version">
-            <summary>
-            The version of ASP.NET to install
-            </summary>
-            <remarks>
-            The default behavior is to use the latest version of ASP.NET available on the computer.
-            <list type="table">
-            <listheader><term>Version</term></listheader>
-            <item><term>Version11</term><description>ASP.NET v1.1</description></item>
-            <item><term>Version20</term><description>ASP.NET v2.0</description></item>
-            <item><term>VersionLatest</term><description>The latest version of ASP.NET available</description></item>
-            </list>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.ApplyScriptMaps">
-            <summary>
-            The method used to determine if ASP.NET script mappings should be applied
-            </summary>
-            <remarks>
-            The default behavior is to register script mappings on all sites except those with a newer version of ASP.NET.
-            <list type="table">
-            <listheader><term>Value</term></listheader>
-            <item><term>Never</term><description>Register ASP.NET on the computer without updating any script mappings.</description></item>
-            <item><term>IfNoneExist</term><description>Register script mappings only on for sites that do not have any existing ASP.NET script mappings (not available for ASP.NET v1.1)</description></item>
-            <item><term>UnlessNewerExist</term><description>Register script mappings on all sites except those with a newer version of ASP.NET.</description></item>
-            <item><term>Always</term><description>Register script mappings on all sites, even if they already have a newer version of ASP.NET.</description></item>
-            </list>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.ClientScriptsOnly">
-            <summary>
-            When <see langword="true"/>, the aspnet_client scripts will be installed. No script mappings will be updated.
-            </summary>
-            <remarks>This cannot be <see langword="true"/> if a value for <see cref="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.Path"/> or <see cref="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.ApplyScriptMaps"/> has been specified.</remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.Path">
-            <summary>
-            The web application that should have its script maps updated.
-            </summary>
-            <remarks>
-            The path must be of the form W3SVC/[instance]/Root/[webdirectory], for example W3SVC/1/Root/SampleApp1.
-            As a shortcut, you can specify just the web directory name,
-            if the web directory is installed in the default website instance (W3SVC/1/Root).
-            <para>You should not specify a value for <see cref="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.ApplyScriptMaps"/> when specifying a path.</para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.Recursive">
-            <summary>
-            When <see langword="true"/>, script maps are applied recursively under <see cref="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.Path"/>.
-            </summary>
-            <remarks>This property is only valid when specifying a value for <see cref="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.Path"/>. It is <see langword="true"/> by default.</remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <value></value>
-            <returns>The name of the executable file to run.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.AssemblyInfo">
-            <summary>
-            Generates an AssemblyInfo files
-            </summary>
-            <example>
-            <para>Generates a common version file.</para>
-            <code><![CDATA[
-            <AssemblyInfo CodeLanguage="CS"  
-                OutputFile="VersionInfo.cs" 
-                AssemblyVersion="1.0.0.0" 
-                AssemblyFileVersion="1.0.0.0" />
-            ]]></code>
-            <para>Generates a complete version file.</para>
-            <code><![CDATA[
-            <AssemblyInfo CodeLanguage="CS"  
-                OutputFile="$(MSBuildProjectDirectory)\Test\GlobalInfo.cs" 
-                AssemblyTitle="AssemblyInfoTask" 
-                AssemblyDescription="AssemblyInfo Description"
-                AssemblyConfiguration=""
-                AssemblyCompany="Company Name, LLC"
-                AssemblyProduct="AssemblyInfoTask"
-                AssemblyCopyright="Copyright (c) Company Name, LLC 2006"
-                AssemblyTrademark=""
-                ComVisible="false"
-                CLSCompliant="true"
-                Guid="d038566a-1937-478a-b5c5-b79c4afb253d"
-                AssemblyVersion="1.0.0.0" 
-                AssemblyFileVersion="1.0.0.0" />
-            ]]></code>
-            <para>Generates a complete version file for C++/CLI.</para>
-            <code><![CDATA[
-            <AssemblyInfo CodeLanguage="CPP"  
-                OutputFile="$(MSBuildProjectDirectory)\Properties\AssemblyInfo.cpp"
-                AssemblyTitle="MyAssembly" 
-                AssemblyDescription="MyAssembly Description"
-                AssemblyConfiguration="$(Configuration)"
-                AssemblyCompany="Company Name, LLC"
-                AssemblyProduct="MyAssembly"
-                AssemblyCopyright="Copyright (c) Company Name, LLC 2008"
-                AssemblyTrademark=""
-                ComVisible="false"
-                CLSCompliant="true"
-                Guid="d038566a-1937-478a-b5c5-b79c4afb253d"
-                AssemblyVersion="1.0.0.0" 
-                AssemblyFileVersion="1.0.0.0"
-                UnmanagedCode="true" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.AssemblyInfo.DEFAULT_OUTPUT_FILE">
-            <summary>
-            The default value of <see cref="P:MSBuild.Community.Tasks.AssemblyInfo.OutputFile"/>.
-            The value is <c>"AssemblyInfo.cs"</c>.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.AssemblyInfo.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.AssemblyInfo"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.AssemblyInfo.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.CodeLanguage">
-            <summary>
-            Gets or sets the code language.
-            </summary>
-            <value>The code language.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.ComVisible">
-            <summary>
-            Gets or sets a value indicating whether [COMVisible].
-            </summary>
-            <value><c>true</c> if [COMVisible]; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.CLSCompliant">
-            <summary>
-            Gets or sets a value indicating whether [CLSCompliant].
-            </summary>
-            <value><c>true</c> if [CLSCompliant]; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.Guid">
-            <summary>
-            Gets or sets the GUID.
-            </summary>
-            <value>The GUID.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyTitle">
-            <summary>
-            Gets or sets the assembly title.
-            </summary>
-            <value>The assembly title.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyDescription">
-            <summary>
-            Gets or sets the assembly description.
-            </summary>
-            <value>The assembly description.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyConfiguration">
-            <summary>
-            Gets or sets the assembly configuration.
-            </summary>
-            <value>The assembly configuration.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyCompany">
-            <summary>
-            Gets or sets the assembly company.
-            </summary>
-            <value>The assembly company.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyProduct">
-            <summary>
-            Gets or sets the assembly product.
-            </summary>
-            <value>The assembly product.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyCopyright">
-            <summary>
-            Gets or sets the assembly copyright.
-            </summary>
-            <value>The assembly copyright.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyTrademark">
-            <summary>
-            Gets or sets the assembly trademark.
-            </summary>
-            <value>The assembly trademark.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyCulture">
-            <summary>
-            Gets or sets the assembly culture.
-            </summary>
-            <value>The assembly culture.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyVersion">
-            <summary>
-            Gets or sets the assembly version.
-            </summary>
-            <value>The assembly version.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyFileVersion">
-            <summary>
-            Gets or sets the assembly file version.
-            </summary>
-            <value>The assembly file version.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyInformationalVersion">
-            <summary>
-            Gets or sets the assembly informational version.
-            </summary>
-            <value>The assembly informational version.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyKeyFile">
-            <summary>
-            Gets or sets the assembly key file.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyKeyName">
-            <summary>
-            Gets or sets the assembly key name.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyDelaySign">
-            <summary>
-            Gets or sets the assembly delay sign value.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.SkipVerification">
-            <summary>
-            Gets or sets the assembly delay sign value.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.UnmanagedCode">
-            <summary>
-            Gets or sets the assembly delay sign value.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.GenerateClass">
-            <summary>
-            Gets or sets a value indicating whether to generate the ThisAssmebly class.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.NeutralResourcesLanguage">
-            <summary>
-            Gets or sets the neutral language which is used as a fallback language configuration 
-            if the locale on the computer isn't supported. Example is setting this to "en-US".
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.UltimateResourceFallbackLocation">
-            <summary>
-            Gets or sets the ultimate resource fallback location.
-            </summary>
-            <value>The ultimate resource fallback location.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.InternalsVisibleTo">
-            <summary>
-            Makes it possible to make certain assemblies able to use constructs marked as internal.
-            Example might be setting this value to "UnitTests" assembly. The typical use case might 
-            be constructors in classes which shouldn't be available to other assemblies, but the unit
-            tests should be able to use them.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AllowPartiallyTrustedCallers">
-            <summary>
-            Gets or sets whether to allow strong-named assemblies to be called by partially trusted code.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.OutputFile">
-            <summary>
-            Gets or sets the output file.
-            </summary>
-            <value>The output file.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Attrib">
-            <summary>
-            Changes the attributes of files and/or directories
-            </summary>
-            <example>
-            <para>Make file Readonly, Hidden and System.</para>
-            <code><![CDATA[
-            <Attrib Files="Test\version.txt" 
-                ReadOnly="true" Hidden="true" System="true"/>
-            ]]></code>
-            <para>Clear Hidden and System attributes.</para>
-            <code><![CDATA[
-            <Attrib Files="Test\version.txt" 
-                Hidden="false" System="false"/>
-            ]]></code>
-            <para>Make file Normal.</para>
-            <code><![CDATA[
-            <Attrib Files="Test\version.txt" 
-                Normal="true"/>
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Attrib.Execute">
-            <summary>
-            Executes the task.
-            </summary>
-            <returns><see langword="true"/> if the task ran successfully; 
-            otherwise <see langword="false"/>.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Attrib.Files">
-            <summary>
-            Gets or sets the list of files to change attributes on.
-            </summary>
-            <value>The files to change attributes on.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Attrib.Directories">
-            <summary>
-            Gets or sets the list of directories to change attributes on.
-            </summary>
-            <value>The directories to change attributes on.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Attrib.Archive">
-            <summary>
-            Gets or sets file's archive status.
-            </summary>
-            <value><c>true</c> if archive; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Attrib.Compressed">
-            <summary>
-            Gets or sets a value indicating file is compressed.
-            </summary>
-            <value><c>true</c> if compressed; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Attrib.Encrypted">
-            <summary>
-            Gets or sets a value indicating file is encrypted.
-            </summary>
-            <value><c>true</c> if encrypted; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Attrib.Hidden">
-            <summary>
-            Gets or sets a value indicating file is hidden, and thus is not included in an ordinary directory listing.
-            </summary>
-            <value><c>true</c> if hidden; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Attrib.Normal">
-            <summary>
-            Gets or sets a value indicating file is normal and has no other attributes set.
-            </summary>
-            <value><c>true</c> if normal; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Attrib.ReadOnly">
-            <summary>
-            Gets or sets a value indicating file is read-only.
-            </summary>
-            <value><c>true</c> if read-only; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Attrib.System">
-            <summary>
-            Gets or sets a value indicating file is a system file.
-            </summary>
-            <value><c>true</c> if system; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.ByteDescriptions">
-            <summary>
-            Describes certain byte measurements as nice strings.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Computer">
-            <summary>
-            Provides information about the build computer.
-            </summary>
-            <example>Get build computer information.
-            <code><![CDATA[
-            <Computer>
-              <Output TaskParameter="Name" PropertyName="BuildMachineName" />
-              <Output TaskParameter="IPAddress" PropertyName="BuildMachineIPAddress" />
-              <Output TaskParameter="IPAddressV4" PropertyName="BuildMachineIPAddressV4" />
-              <Output TaskParameter="OSPlatform" PropertyName="BuildMachineOSPlatform" />
-              <Output TaskParameter="OSVersion" PropertyName="BuildMachineOSVersion" />
-            </Computer>
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Computer.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Computer"/> class.
-            </summary>        
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Computer.Execute">
-            <summary>
-            Executes the task.
-            </summary>
-            <returns>
-            <see langword="true"/> if the task ran successfully; otherwise <see langword="false"/>.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Computer.Name">
-            <summary>
-            Gets the host name of the build computer.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Computer.IPAddress">
-            <summary>
-            Gets the IP address of the build computer.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Computer.IPAddressV4">
-            <summary>
-            Gets the IP v4 address of the build computer.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Computer.OSPlatform">
-            <summary>
-            Gets the platform identifier of the build computer's operating system .
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Computer.OSVersion">
-            <summary>
-            Gets the version number of the build computer's operating system.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Beep">
-            <summary>
-            A task to play the sound of a beep through the console speaker.
-            </summary>
-            <remarks>
-      By default, the beep plays at a frequency of 800 hertz for a duration of 200 milliseconds.
-    </remarks><example>
-      To play the sound of a beep at a frequency of 800 hertz and for a duration of 200 milliseconds, use
-      <code>
-        <![CDATA[<Beep />]]>
-      </code>
-    </example><example>
-      To play the sound of a beep at a frequency of 440 hertz and for a duration of 300 milliseconds, use
-      <code>
-        <![CDATA[<Beep Frequency="440" Duration="300" />]]>
-      </code>
-    </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Beep.Execute">
-            <summary>
-            Plays the sound of a beep 
-            at the given <see cref="P:MSBuild.Community.Tasks.Beep.Frequency"/> and for the given <see cref="P:MSBuild.Community.Tasks.Beep.Duration"/> 
-            through the console speaker.
-            </summary>
-            <returns>
-            Always returns <see langword="true"/>, even when the sound could not be played.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Beep.Frequency">
-            <summary>
-            Gets or sets the frequency of the beep, ranging from 37 to 32767 hertz.
-            Defaults to 800 hertz.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Beep.Duration">
-            <summary>
-            Gets or sets the of the beep measured in milliseconds.
-            Defaults to 200 milliseconds.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.DeleteTree">
-            <summary>
-            Delete a directory tree.  This task supports wild card directory selection.
-            </summary>
-            <example>
-            <para>Delete all bin and obj directories.</para>
-            <code><![CDATA[
-            <DeleteTree Directories="**\bin;**\obj" />
-            ]]></code>
-            <para>Delete all bin and obj directories that start with MSBuild.Community.</para>
-            <code><![CDATA[
-            <DeleteTree Directories="MSBuild.Community.*\**\bin;MSBuild.Community.*\**\obj" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.DeleteTree.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.DeleteTree"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.DeleteTree.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.DeleteTree.Directories">
-            <summary>
-            Gets or sets the directories to be deleted.
-            </summary>
-            <value>The directories to be deleted.</value>
-            <remarks>
-            Directories can contain wild cards.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.DeleteTree.Recursive">
-            <summary>
-            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.DeleteTree"/> is recursive.
-            </summary>
-            <value><c>true</c> if recursive; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.DeleteTree.DeletedDirectories">
-            <summary>
-            Gets the deleted directories.
-            </summary>
-            <value>The deleted directories.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.EmbedNativeResource">
-            <summary>
-            A task for embedded native resource.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.EmbedNativeResource.Execute">
-            <summary>
-            Executes the task.
-            </summary>
-            <returns>Success or failure of the task.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.EmbedNativeResource.TargetAssemblyPath">
-            <summary>
-            Gets or sets the target assembly path.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.EmbedNativeResource.ResourcePath">
-            <summary>
-            Gets or sets the resource path.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.EmbedNativeResource.ResourceName">
-            <summary>
-            Gets or sets the resource name.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.EmbedNativeResource.ResourceType">
-            <summary>
-            Gets or sets the resource type.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.FtpUpload">
-            <summary>
-            Uploads a group of files using File Transfer Protocol (FTP).
-            </summary>
-            <remarks>
-            Set either LocalFiles or LocalFile but not both.
-            </remarks>
-            <example>Upload a file.
-            <code><![CDATA[
-            <FtpUpload 
-                LocalFile="MSBuild.Community.Tasks.zip" 
-                RemoteUri="ftp://localhost/" />
-            ]]></code>
-            
-            Upload all the files in an ItemGroup:
-            <code><![CDATA[
-            <FtpUpload
-                Username="username"
-                Password="password"
-                UsePassive="true"
-                RemoteUri="ftp://webserver.com/httpdocs/"
-                LocalFiles="@(FilesToUpload)"
-                RemoteFiles="@(FilesToUpload->'%(RecursiveDir)%(Filename)%(Extension)')" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.IFtpWebRequestCreator">
-            <summary>
-            Describes a factory for IFtpWebRequest.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.IFtpWebRequestCreator.Create(System.Uri,System.String)">
-            <summary>
-            Instantiates an FtpWebRequest.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.FtpUpload.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:FtpUpload"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.FtpUpload.#ctor(MSBuild.Community.Tasks.IFtpWebRequestCreator)">
-            <summary>
-            Initializes a new instance that will inject the specified dependency.
-            </summary>
-            <param name="requestCreator"></param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.FtpUpload.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FtpUpload.LocalFile">
-            <summary>
-            Gets or sets the single file to upload.  Use
-            this or LocalFiles, but not both.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FtpUpload.LocalFiles">
-            <summary>
-            Gets or sets the local files to upload.  Use this
-            or LocalFile, but not both.
-            </summary>
-            <value>The local file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FtpUpload.RemoteFiles">
-            <summary>
-            Gets or sets the remote files to upload.
-            Each item in this list should have a corresponding item in LocalFiles.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FtpUpload.RemoteUri">
-            <summary>
-            Gets or sets the remote URI to upload.
-            </summary>
-            <value>The remote URI.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FtpUpload.Username">
-            <summary>
-            Gets or sets the username.
-            </summary>
-            <value>The username.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FtpUpload.Password">
-            <summary>
-            Gets or sets the password.
-            </summary>
-            <value>The password.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FtpUpload.UsePassive">
-            <summary>
-            Gets or sets the behavior of a client application's data transfer process.
-            </summary>
-            <value><c>true</c> if [use passive]; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FtpUpload.KeepAlive">
-            <summary>
-            Gets or sets a value that indicates whether to make a persistent connection to the Internet resource.
-            </summary>        
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FtpUpload.Timeout">
-            <summary>
-            Gets or sets the time-out value in milliseconds
-            </summary>  
-            <value>The number of milliseconds to wait before the request times out. The default value is 7000 milliseconds (7 seconds).</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.IFtpWebRequest">
-            <summary>
-            This class references an interface that looks like FtpWebRequest
-            in order to support unit testing without an actual FTP Server.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.IFtpWebRequest.SetContentLength(System.Int64)">
-            <summary>
-            Sets the ContentLength property of the FtpWebRequest.
-            </summary>
-            <param name="length"></param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.IFtpWebRequest.GetRequestStream">
-            <summary>
-            Calls GetRequestStream on the FtpWebRequest.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.IFtpWebRequest.GetStatusDescriptionAndCloseResponse">
-            <summary>
-            Gets the StatusDescription property of the response, then closes the response
-            on the FtpWebRequest.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.IFtpWebRequest.GetAndCloseResponse">
-            <summary>
-            Gets the response from the FTP server and closes it.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.IFtpWebRequest.GetResponseStream">
-            <summary>
-            Gets the response stream from the FtpWebRequest.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.RealFtpWebRequest">
-            <summary>
-            An adapter to make the real FtpWebRequest look like
-            an IFtpWebRequest.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.RealFtpWebRequest.#ctor(System.Net.FtpWebRequest)">
-            <summary>
-            Initializes a new instance of the RealFtpWebRequest class.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase">
-            <summary>
-            Ftp client base class.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase._clientSocket">
-            <summary>
-            The socket that will connect to the FTP server.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase._bufferSize">
-            <summary>
-            The size of the data buffer.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase._lastReply">
-            <summary>
-            The last recieved FTP response over the client socket.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase._password">
-            <summary>
-            The password to use to login.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase._port">
-            <summary>
-            The port number of the FTP server.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase._serverhost">
-            <summary>
-            The hostname of the FTP server.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase._username">
-            <summary>
-            The username to use to login.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.Connect">
-            <summary>
-            Connects this FTP server socket.
-            </summary>
-            <exception cref="T:MSBuild.Community.Tasks.Ftp.FtpException">Thrown when unable to connect.</exception>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.Login">
-            <summary>
-            Login to the FTP server with the specified credentials.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.ChangeWorkingDirectory(System.String)">
-            <summary>
-            Changes the working directory.
-            </summary>
-            <param name="remoteDirectory">The remote directory.</param>
-            <exception cref="T:MSBuild.Community.Tasks.Ftp.FtpException">Occurs if there where connection problems during the process or the FTP server doesn't support the CWD command. See the Message of the exception for details.</exception>
-            <remarks>Sends the CWD command.</remarks>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.GetWorkingDirectory">
-            <summary>
-            Gets the working directory.
-            </summary>
-            <returns>The current working directory.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.CdUp">
-            <summary>
-            Change to the parent of the current working directory.
-            </summary>
-            <exception cref="T:MSBuild.Community.Tasks.Ftp.FtpException">Occurs if there where connection problems during the process or the FTP server doesn't support the CDUP command. See the Message of the exception for details.</exception>
-            <remarks>Sends the CDUP command.</remarks>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.FileExists(System.String)">
-            <summary>
-            Determs whether a remote file exists.
-            </summary>
-            <param name="remoteFile">The remote file.</param>
-            <returns></returns>
-            <exception cref="T:MSBuild.Community.Tasks.Ftp.FtpException">Occurs if there where connection problems during the operation or if the FTP server doesn't support the SIZE command. See the Message of the exception for details.</exception>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.DirectoryExists(System.String)">
-            <summary>
-            Determs whether a remote directory exists.
-            </summary>
-            <param name="remoteDirectory">The remote directory.</param>
-            <remarks>
-            This method is based on the succeedness of a CWD command, this can give wrong indication at a rare number of FTP server!
-            </remarks>
-            <exception cref="T:MSBuild.Community.Tasks.Ftp.FtpException">Thrown if the opperation couldn't be executed.</exception>
-            <returns><c>true</c> if the directory exists remotely; otherwise <c>false</c></returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.RemoveDirectory(System.String)">
-            <summary>
-            Removes a remote directory.
-            </summary>
-            <param name="directoryName">The remote directory name.</param>
-            <exception cref="T:MSBuild.Community.Tasks.Ftp.FtpException">Occurs if there where connection problems during the process or the FTP server doesn't support the RMD command. See the Message of the exception for details.</exception>
-            <remarks>Sends the RMD command.</remarks>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.MakeDirectory(System.String)">
-            <summary>
-            Creates a remote directory in the current working folder.
-            </summary>
-            <param name="directoryName">Name of the directory.</param>
-            <exception cref="T:MSBuild.Community.Tasks.Ftp.FtpException">Occurs if there where connection problems during the process or the FTP server doesn't support the MMD command. See the Message of the exception for details.</exception>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.Close">
-            <summary>
-            Closes the connection to the server.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.Store(System.String,System.String)">
-            <summary>
-            Stores the specified localFile.
-            </summary>
-            <param name="localFile">The localfile.</param>
-            <param name="remoteFileName">The remotefile.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.SendCommand(System.String,System.String)">
-            <summary>
-            Send a command to the FTP server.
-            </summary>
-            <param name="command">The command, for example PWD.</param>
-            <param name="value">The value.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.SendCommand(System.String)">
-            <summary>
-            Send a command to the FTP server.
-            </summary>
-            <param name="rawCommand">The full command to send.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.SendCommandAndReadResponse(System.String,System.String)">
-            <summary>
-            Send a command to the FTP server and returns the response.
-            </summary>
-            <param name="command">The command, for example PWD.</param>
-            <param name="value">The value</param>
-            <returns>The reply of the FTP server for this command.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.SendCommandAndReadResponse(System.String)">
-            <summary>
-            Send a command to the FTP server and returns the response.
-            </summary>
-            <param name="rawCommand">The raw command to send.</param>
-            <returns>The reply of the FTP server for this command.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.GetDirectoryDetails">
-            <summary>
-            Get the full directory details of the current directory.
-            </summary>
-            <returns>A array that contains all the FTP files located in the currenct directory.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.CreateDataStreamAndSendCommand(System.String)">
-            <summary>
-            Create a data stream and send a raw command.
-            </summary>
-            <param name="rawCommand">The raw command to send.</param>
-            <returns>The data stream that was created.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.ParseDataEndPointFromMessage(System.String)">
-            <summary>
-            Parses the data IP end point from datarequest message.
-            </summary>
-            <param name="message">The message.</param>
-            <returns></returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.GetDirectoryDetails(System.String)">
-            <summary>
-            Get the full directory details of the current directory.
-            </summary>
-            <param name="remoteDirectory">The remove directory, emtpy or <c>null</c> will get the details of the current directory.</param>
-            <returns>A array that contains all the FTP files located in the currenct directory.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.ReadResponse">
-            <summary>
-            Reads the ftp response from the client socket.
-            </summary>
-            <returns>The response of the FTP server.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.ReadResponseString">
-            <summary>
-            Reads the response string from the client socket.
-            </summary>
-            <returns>The response of the client socket.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.CloseAndTrowException(System.Exception)">
-            <summary>
-            Make sure the connections are closed and trow the specified exception.
-            </summary>
-            <param name="exception">The exception to throw.</param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.ServerHost">
-            <summary>
-            Gets or sets the server host.
-            </summary>
-            <value>The server host.</value>
-            <exception cref="T:System.ArgumentOutOfRangeException">The lenght of the given value is greater then 126 characters.</exception>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.Port">
-            <summary>
-            Gets or sets the port number.
-            </summary>
-            <value>The port numer.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.ClientSocket">
-            <summary>
-            Gets or sets the client socket.
-            </summary>
-            <value>The client socket.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.Connected">
-            <summary>
-            Gets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase"/> is connected.
-            </summary>
-            <value><c>true</c> if connected; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.ConversationEncoding">
-            <summary>
-            Gets the encoding to use with communication with the server.
-            </summary>
-            <value>The encoding.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.LastReply">
-            <summary>
-            Gets the last recieved FTP response over the client socket.
-            </summary>
-            <value>The last recieved FTP response over the client socket.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.Username">
-            <summary>
-            Gets or sets the username to login.
-            </summary>
-            <value>The username.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.Password">
-            <summary>
-            Gets or sets the password to login.
-            </summary>
-            <value>The password.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.LogFtpMessageConversation">
-            <summary>
-            Gets or sets a value indicating whether the FTP message conversation should be logged.
-            </summary>
-            <value>
-            	<c>true</c> if the FTP message conversation should be logged; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.BufferSize">
-            <summary>
-            Gets or sets the size of the data buffer.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Ftp.FtpCreateRemoteDirectory">
-            <summary>
-            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.
-            </summary>
-            <example>Create remote directory:
-            <code><![CDATA[
-            <FtpCreateRemoteDirectoty 
-                ServerHost="ftp.myserver.com"
-                Port="42"
-                RemoteDirectory="Directory\Subdirectory\MyOtherSubdirectory"
-                Username="user"
-                Password="p@ssw0rd"
-            />
-            ]]></code>
-            </example>
-            <remarks>The full remote directory path will be created. All directories that doesn't exists on the remote server will be created.</remarks>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Ftp.FtpCreateRemoteDirectory._remoteDirectory">
-            <summary>
-            The remote directory to create.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpCreateRemoteDirectory.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Ftp.FtpCreateRemoteDirectory.RemoteDirectory">
-            <summary>
-            Gets or sets the remote directory to create.
-            </summary>
-            <value>The remote directory.</value>
-            <example>This can be one directory name, like <c>"Directory"</c>, or a directory path, like <c>"Directory\Subdirectoy"</c>.
-            </example>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Ftp.FtpDirectoryExists">
-            <summary>
-            Determ if a remote directory exists on a FTP server or not.
-            </summary>
-            <example>Determ of Directory\1 exists:
-            <code><![CDATA[
-            <Target Name="CheckIfDirectoryExists">
-                <FtpDirectoryExists 
-                    ServerHost="ftp.myserver.com"
-                    Port="42"
-                    RemoteDirectory="1\2\3"
-                    Username="user"
-                    Password="p@ssw0rd"
-                >
-                    <Output TaskParameter="Exists" PropertyName="Exists" /> 
-                </FtpDirectoryExists>
-                <Message Text="Directory '1\2\3' exists: $(Exists)"/>
-            ]]></code>
-            If the directory exists on the server you should see the following output in the console:
-            <c>Directory '1\2\3' exists: true</c>
-            </example>
-            <remarks>The full remote directory path will be created. All directories that doesn't exists on the remote server will be created.</remarks>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Ftp.FtpDirectoryExists._remoteDirectory">
-            <summary>
-            The remote directory to create.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Ftp.FtpDirectoryExists._exists">
-            <summary>
-            Flag that indicates whether the directory exists on the server.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpDirectoryExists.Execute">
-            <summary>
-             Executes the current task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Ftp.FtpDirectoryExists.RemoteDirectory">
-            <summary>
-            Gets or sets the remote directory to create.
-            </summary>
-            <value>The remote directory.</value>
-            <example>This can be one directory name, like <c>"Directory"</c>, or a directory path, like <c>"Directory\Subdirectoy"</c>.
-            </example>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Ftp.FtpDirectoryExists.Exists">
-            <summary>
-            Gets an indication whether the directory exists on the server.
-            </summary>
-            <value><c>true</c> when the directory exists on the server; otherwise <c>false</c>.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Ftp.FtpException">
-            <summary>
-            Exception returned by FTP server.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpException.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Ftp.FtpException"/> class.
-            </summary>
-            <param name="message">The message.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpException.#ctor(System.String,System.Exception)">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Ftp.FtpException"/> class.
-            </summary>
-            <param name="message">The message.</param>
-            <param name="innerException">The inner exception.</param>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Ftp.FtpEntry">
-            <summary>
-            Represents an remote file or directory on a FTP server.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Ftp.FtpEntry._isDirectory">
-            <summary>
-            Indicates whether this instance represents a directory.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Ftp.FtpEntry._name">
-            <summary>
-            Represents the file or directory name.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpEntry.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Ftp.FtpEntry"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpEntry.#ctor(System.Boolean,System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Ftp.FtpEntry"/> class.
-            </summary>
-            <param name="isDirectory">if set to <c>true</c> this instance represents a directory; otherwise, <c>false</c>.</param>
-            <param name="name">The name.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpEntry.ParseDirList(System.String[])">
-            <summary>
-            Parses the dir list.
-            </summary>
-            <param name="entryLines">The entry lines.</param>
-            <returns></returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Ftp.FtpEntry.IsDirectory">
-            <summary>
-            Gets or sets a value indicating whether this instance represents a directory.
-            </summary>
-            <value>
-            	<c>true</c> if this instance represents a directory; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Ftp.FtpEntry.Name">
-            <summary>
-            Gets or sets the name.
-            </summary>
-            <value>The name.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Ftp.FtpReply">
-            <summary>
-            Represenatation of a FTP reply message.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Ftp.FtpReply._resultCode">
-            <summary>
-            The result code of the FTP response.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Ftp.FtpReply._message">
-            <summary>
-            The response message.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpReply.#ctor(System.Int32,System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Ftp.FtpReply"/> class.
-            </summary>
-            <param name="resultCode">The result code of the FTP response.</param>
-            <param name="message">The response message.</param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Ftp.FtpReply.ResultCode">
-            <summary>
-            Gets or sets the result code.
-            </summary>
-            <value>The result code.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Ftp.FtpReply.Message">
-            <summary>
-            Gets or sets the message.
-            </summary>
-            <value>The message.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Ftp.FtpUploadDirectoryContent">
-            <summary>
-            Uploads a full directory content to a remote directory.
-            </summary>
-            <example>Uploads directory content, including all subdirectories and subdirectory content:
-            <code><![CDATA[
-            <Target Name="DeployWebsite">
-                <FtpUploadDirectoryContent 
-                    ServerHost="ftp.myserver.com"
-                    Port="42"
-                    Username="user"
-                    Password="p@ssw0rd"
-                    LocalDirectory="c:\build\mywebsite"
-                    RemoteDirectory="root\www\mywebsite"
-                    Recursive="true"
-                />
-            ]]></code>
-            To go a little step further. If the local directory looked like this:
-            <code>
-            [mywebsite]
-                [images]
-                    1.gif
-                    2.gif
-                    3.gif
-                [js]
-                    clientscript.js
-                    nofocus.js
-                [css]
-                    print.css
-                    main.css
-                index.htm
-                contact.htm
-                downloads.htm
-            </code>
-            All directories and there content will be uploaded and a excact copy of the content of <c>mywebsite</c> directory will be created remotely.
-            <remarks>
-            If <see cref="P:MSBuild.Community.Tasks.Ftp.FtpUploadDirectoryContent.Recursive"/> is set the <c>false</c>; only index.htm, contact.htm and downloads.htm will be uploaded and no subdirectories will be created remotely.
-            </remarks>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpUploadDirectoryContent.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpUploadDirectoryContent.UploadDirectory(System.String,System.Boolean)">
-            <summary>
-            Upload a directory and its file contents.
-            </summary>
-            <param name="localPath">The local path.</param>
-            <param name="recurse">if set to <c>true</c> all subdurectiries will be included.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Ftp.FtpUploadDirectoryContent.UploadDirectory(System.String,System.String,System.Boolean)">
-            <summary>
-            Upload a directory and its file contents.
-            </summary>
-            <param name="localPath">The local path.</param>
-            <param name="mask">Only upload files that compli to the mask.</param>
-            <param name="recursive">if set to <c>true</c> all subdurectiries will be included.</param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Ftp.FtpUploadDirectoryContent.LocalDirectory">
-            <summary>
-            Gets or sets the local directory that contains the content to upload.
-            </summary>
-            <value>The local directory.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Ftp.FtpUploadDirectoryContent.RemoteDirectory">
-            <summary>
-            Gets or sets the remote directory destination for the local files.
-            </summary>
-            <value>The remote directory.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Ftp.FtpUploadDirectoryContent.Recursive">
-            <summary>
-            Gets or sets a value indicating whether the subdirectories of the local directory should be created remotely and the content of these should also be uploaded.
-            </summary>
-            <value><c>true</c> if recursive; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Fusion.UninstallStatus">
-            <summary>
-            The status of an uninstall.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Fusion.UninstallStatus.None">
-            <summary>
-            No status.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Fusion.UninstallStatus.Uninstalled">
-            <summary>
-            Uninstalled successfully.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Fusion.UninstallStatus.StillInUse">
-            <summary>
-            Assembly is still in use.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Fusion.UninstallStatus.AlreadyUninstalled">
-            <summary>
-            Assembly already uninstalled or not found.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Fusion.UninstallStatus.DeletePending">
-            <summary>
-            Assembly delete is pending.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Fusion.UninstallStatus.HasInstallReferences">
-            <summary>
-            Assembly has a reference to an installed application.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Fusion.UninstallStatus.ReferenceNotFound">
-            <summary>
-            Assembly not found.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Fusion.FusionWrapper">
-            <summary>
-            A class wrapping fusion api calls
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Fusion.FusionWrapper.InstallAssembly(System.String,System.Boolean)">
-            <summary>
-            Installs the assembly.
-            </summary>
-            <param name="assemblyPath">The assembly path.</param>
-            <param name="force">if set to <c>true</c> force.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Fusion.FusionWrapper.UninstallAssembly(System.String,System.Boolean)">
-            <summary>
-            Uninstalls the assembly.
-            </summary>
-            <param name="assemblyName">Name of the assembly.</param>
-            <param name="force">if set to <c>true</c> force.</param>
-            <returns>Returns <c>true</c> if uninstall successful.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Fusion.FusionWrapper.UninstallAssembly(System.String,System.Boolean,MSBuild.Community.Tasks.Fusion.UninstallStatus@)">
-            <summary>
-            Uninstalls the assembly.
-            </summary>
-            <param name="assemblyName">Name of the assembly.</param>
-            <param name="force">if set to <c>true</c> force.</param>
-            <param name="result">The UninstallStatus result.</param>
-            <returns>Returns <c>true</c> if uninstall successful.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Fusion.FusionWrapper.GetAssemblyPath(System.String)">
-            <summary>
-            Gets the assembly path.
-            </summary>
-            <param name="assemblyName">Name of the assembly.</param>
-            <returns>The path to the assembly in the GAC.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Fusion.FusionWrapper.GetAssemblyName(System.String)">
-            <summary>
-            Gets the name of the assembly.
-            </summary>
-            <param name="assemblyName">Name of the assembly.</param>
-            <returns>An <see cref="T:System.Reflection.AssemblyName"/> instance.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Git.GitDescribe">
-            <summary>
-            A task for git to get the most current tag, commit count since tag, and commit hash.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Git.GitClient">
-            <summary>
-            A task for Git commands.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitClient.#ctor">
-            <summary>
-            Default constructor. Creates a new GitClient task.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitClient.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitClient.GenerateCommand(Microsoft.Build.Utilities.CommandLineBuilder)">
-            <summary>
-            Generates the command.
-            </summary>
-            <param name="builder">The builder.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitClient.GenerateArguments(Microsoft.Build.Utilities.CommandLineBuilder)">
-            <summary>
-            Generates the arguments.
-            </summary>
-            <param name="builder">The builder.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitClient.GenerateFullPathToTool">
-            <summary>
-            Returns the fully qualified path to the executable file.
-            </summary>
-            <returns>
-            The fully qualified path to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitClient.LogToolCommand(System.String)">
-            <summary>
-            Logs the starting point of the run to all registered loggers.
-            </summary>
-            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitClient.ValidateParameters">
-            <summary>
-            Indicates whether all task paratmeters are valid.
-            </summary>
-            <returns>
-            true if all task parameters are valid; otherwise, false.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitClient.GetWorkingDirectory">
-            <summary>
-            Returns the directory in which to run the executable file.
-            </summary>
-            <returns>
-            The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Git.GitClient.Command">
-            <summary>
-            Gets or sets the command to run.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Git.GitClient.Arguments">
-            <summary>
-            Gets or sets the raw arguments to pass to the git command.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Git.GitClient.LocalPath">
-            <summary>
-            Gets or sets the local or working path for git command.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Git.GitClient.StandardOutputLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
-            </summary>
-            <value></value>
-            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Git.GitClient.StandardErrorLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
-            </summary>
-            <value></value>
-            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Git.GitClient.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <returns>
-            The name of the executable file to run.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitDescribe.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Git.GitDescribe"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitDescribe.GenerateArguments(Microsoft.Build.Utilities.CommandLineBuilder)">
-            <summary>
-            Make sure we specify abbrev=40 to get full CommitHash
-            </summary>
-            <param name="builder"></param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitDescribe.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
-            <summary>
-            Parses a single line of text to identify any errors or warnings in canonical format.
-            </summary>
-            <param name="singleLine">A single line of text for the method to parse.</param>
-            <param name="messageImportance">A value of <see cref="T:Microsoft.Build.Framework.MessageImportance"/> that indicates the importance level with which to log the message.</param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Git.GitDescribe.CommitCount">
-            <summary>
-            Gets the number of commits in this branch since the last tag
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Git.GitDescribe.CommitHash">
-            <summary>
-            Gets or sets the commit hash.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Git.GitDescribe.Tag">
-            <summary>
-            Gets the last tagname for this branch
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Git.GitDescribe.ErrorMessage">
-            <summary>
-            Not active yet
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Git.GitDescribe.SoftErrorMode">
-            <summary>
-            When true, any processing errors will push error status out into <see cref="P:MSBuild.Community.Tasks.Git.GitDescribe.Tag"/>
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Git.GitBranch">
-            <summary>
-            A task to get the name of the branch or tag of git repository
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitBranch.#ctor">
-            <summary>
-            Default constructor
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitBranch.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
-            <summary>
-            Parse the output of the console and gets the Branch or Tag.
-            </summary>
-            <param name="singleLine">the line being parsed</param>
-            <param name="messageImportance">message importance</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitBranch.IsBranchStatusLine(System.String)">
-            <summary>
-            Check if a stdout Git line shows the current branch
-            </summary>
-            <param name="singleLine">the stdout line</param>
-            <returns>true if is branch line</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitBranch.ParseStatusLineOutput(System.String)">
-            <summary>
-            Parses a branch status line and returns the branch or tag
-            </summary>
-            <param name="singleLine">the stdout line of git command line tool</param>
-            <returns>the branch or tag</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitBranch.GenerateArguments(Microsoft.Build.Utilities.CommandLineBuilder)">
-            <summary>
-            Generates the arguments.
-            </summary>
-            <param name="builder">The builder.</param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Git.GitBranch.Branch">
-            <summary>
-            Return the branch or tag.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Git.GitCommits">
-            <summary>
-            A task for git to retrieve the number of commits on a revision.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitCommits.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Git.GitCommits"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitCommits.GenerateArguments(Microsoft.Build.Utilities.CommandLineBuilder)">
-            <summary>
-            Generates the arguments.
-            </summary>
-            <param name="builder">The builder.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitCommits.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
-            <summary>
-            Parses a single line of text to identify any errors or warnings in canonical format.
-            </summary>
-            <param name="singleLine">A single line of text for the method to parse.</param>
-            <param name="messageImportance">A value of <see cref="T:Microsoft.Build.Framework.MessageImportance"/> that indicates the importance level with which to log the message.</param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Git.GitCommits.Revision">
-            <summary>
-            Gets or sets the revision to get the total number of commits from. Default is HEAD.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Git.GitCommits.CommitsCount">
-            <summary>
-            Gets or sets the commitscount.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Git.GitPendingChanges">
-            <summary>
-            A task for git to detect if there are pending changes
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitPendingChanges.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Git.GitPendingChanges"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitPendingChanges.GenerateArguments(Microsoft.Build.Utilities.CommandLineBuilder)">
-            <summary>
-            Generates the arguments.
-            </summary>
-            <param name="builder">The builder.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitPendingChanges.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
-            <summary>
-            Parses a single line of text to identify any errors or warnings in canonical format.
-            </summary>
-            <param name="singleLine">A single line of text for the method to parse.</param>
-            <param name="messageImportance">A value of <see cref="T:Microsoft.Build.Framework.MessageImportance"/> that indicates the importance level with which to log the message.</param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Git.GitPendingChanges.HasPendingChanges">
-            <summary>
-            Gets or sets whether the working directory has pending changes.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Git.GitVersion">
-            <summary>
-            A task for git to get the current commit hash.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitVersion.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Git.GitVersion"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitVersion.GenerateArguments(Microsoft.Build.Utilities.CommandLineBuilder)">
-            <summary>
-            Generates the arguments.
-            </summary>
-            <param name="builder">The builder.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Git.GitVersion.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
-            <summary>
-            Parses a single line of text to identify any errors or warnings in canonical format.
-            </summary>
-            <param name="singleLine">A single line of text for the method to parse.</param>
-            <param name="messageImportance">A value of <see cref="T:Microsoft.Build.Framework.MessageImportance"/> that indicates the importance level with which to log the message.</param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Git.GitVersion.Revision">
-            <summary>
-            Gets or sets the revision to get the version from. Default is HEAD.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Git.GitVersion.CommitHash">
-            <summary>
-            Gets or sets the commit hash.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Git.GitVersion.Short">
-            <summary>
-            Gets or sets a value indicating whether to abbreviate to a shorter unique name.
-            </summary>
-            <value>
-              <c>true</c> if short; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.HtmlHelp.ChmCompiler">
-            <summary>
-            Html Help 1x compiler task.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.HtmlHelp.ChmCompiler.GenerateFullPathToTool">
-            <summary>
-            Returns the fully qualified path to the executable file.
-            </summary>
-            <returns>
-            The fully qualified path to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.HtmlHelp.ChmCompiler.LogToolCommand(System.String)">
-            <summary>
-            Logs the starting point of the run to all registered loggers.
-            </summary>
-            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.HtmlHelp.ChmCompiler.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.HtmlHelp.ChmCompiler.HandleTaskExecutionErrors">
-            <summary>
-            Handles execution errors raised by the executable file.
-            </summary>
-            <returns>
-            true if the method runs successfully; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.HtmlHelp.ChmCompiler.ProjectFile">
-            <summary>
-            Gets or sets the project file path.
-            </summary>
-            <value>The project file path.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.HtmlHelp.ChmCompiler.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <value></value>
-            <returns>The name of the executable file to run.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.HtmlHelp.ChmCompiler.StandardOutputLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
-            </summary>
-            <value></value>
-            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.HtmlHelp.HxCompiler">
-            <summary>
-            A Html Help 2.0 compiler task.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.GenerateFullPathToTool">
-            <summary>
-            Returns the fully qualified path to the executable file.
-            </summary>
-            <returns>
-            The fully qualified path to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.LogToolCommand(System.String)">
-            <summary>
-            Logs the starting point of the run to all registered loggers.
-            </summary>
-            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.HandleTaskExecutionErrors">
-            <summary>
-            Handles execution errors raised by the executable file.
-            </summary>
-            <returns>
-            true if the method runs successfully; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.ProjectFile">
-            <summary>
-            Gets or sets the project file path.
-            </summary>
-            <value>The project file path.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.LogFile">
-            <summary>
-            Gets or sets the log file.
-            </summary>
-            <value>The log file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.ProjectRoot">
-            <summary>
-            Gets or sets the project root.
-            </summary>
-            <value>The project root.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.OutputFile">
-            <summary>
-            Gets or sets the output file.
-            </summary>
-            <value>The output file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.NoInfoMessages">
-            <summary>
-            Gets or sets a value indicating whether no info messages will be output.
-            </summary>
-            <value><c>true</c> if no info messages; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.NoWarningMessages">
-            <summary>
-            Gets or sets a value indicating whether no warning messages will be output.
-            </summary>
-            <value><c>true</c> if no warning messages; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.NoErrorMessages">
-            <summary>
-            Gets or sets a value indicating whether no error messages will be output.
-            </summary>
-            <value><c>true</c> if no error messages; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.QuiteMode">
-            <summary>
-            Gets or sets a value indicating quite mode.
-            </summary>
-            <value><c>true</c> if quite mode; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.UncompileFile">
-            <summary>
-            Gets or sets the uncompile file.
-            </summary>
-            <value>The uncompile file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.UncompileDirectory">
-            <summary>
-            Gets or sets the uncompile directory.
-            </summary>
-            <value>The uncompile directory.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <value></value>
-            <returns>The name of the executable file to run.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.StandardOutputLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
-            </summary>
-            <value></value>
-            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.InnoSetup">
-            <summary>
-            MSBuild task to create installer with InnoSetup
-            </summary>
-            <example>Create installer
-            <code><![CDATA[
-                <InnoSetup 
-                    ScriptFile="setup.iss"
-                    OutputFileName="MySetup.exe"
-                    OutputPath="C:\SetupDir"
-                    Quiet="True" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.InnoSetup.GenerateFullPathToTool">
-            <summary>
-            Returns the fully qualified path to the executable file.
-            </summary>
-            <returns>
-            The fully qualified path to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.InnoSetup.LogToolCommand(System.String)">
-            <summary>
-            Logs the starting point of the run to all registered loggers.
-            </summary>
-            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.InnoSetup.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.InnoSetup.Execute">
-            <summary>
-            
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.InnoSetup.ScriptFile">
-            <summary>
-            Filename of Inno Setup script (.iss)
-            </summary>
-            <value>InnoSetup file, example: C:\Setup.iss</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.InnoSetup.OutputFileName">
-            <summary>
-            Specify output filename
-            </summary>
-            <value>Name for setup, examples: MySetup.exe</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.InnoSetup.OutputPath">
-            <summary>
-            Specify output path
-            </summary>
-            <value>Path for output setup, example: C:\Setups</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.InnoSetup.Quiet">
-            <summary>
-            Quiet compile
-            </summary>
-            <value>True o False</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.InnoSetup.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <value></value>
-            <returns>The name of the executable file to run.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.InnoSetup.StandardOutputLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
-            </summary>
-            <value></value>
-            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.MergeModes">
-            <summary>
-            Defines the modes for merging files.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.MergeModes.Binary">
-            <summary>
-            Merges files as binary data.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.MergeModes.Text">
-            <summary>
-            Merges files as text.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.MergeModes.TextLine">
-            <summary>
-            Merges files as text line by line.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Merge">
-            <summary>
-            Merge files into the destination file.
-            </summary>
-            <example>Merge CSS files together for better browser performance.
-            <code><![CDATA[
-            <Merge Mode="TextLine" 
-                SourceFiles="Main.css;Login.css" 
-                DestinationFile="All.css" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Merge.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Merge.Mode">
-            <summary>
-            Gets or sets the mode to use when merging.
-            </summary>
-            <value>The merge mode.</value>
-            <enum cref="T:MSBuild.Community.Tasks.MergeModes"/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Merge.SourceFiles">
-            <summary>
-            Gets or sets the source files to merge.
-            </summary>
-            <value>The source files to merge.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Merge.DestinationFile">
-            <summary>
-            Gets or sets the destination file where the
-            <see cref="P:MSBuild.Community.Tasks.Merge.SourceFiles"/> are merged to.
-            </summary>
-            <value>The destination file.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Net.HttpRequest">
-            <summary>
-            Makes an HTTP request, optionally validating the result and writing it to a file.
-            </summary>
-            <remarks>
-            Execute a http request to hit the database update.  
-            Target attributes to set:
-                Url (required),
-                FailOnNon2xxResponse (200 responses generally means successful http request. default=true), 
-                EnsureResponseContains (string to check for),
-                WriteResponseTo (file name to write to),
-            </remarks>
-            <example>
-            Example of a update request ensuring "Database upgrade check completed successfully." was returned.
-            <code><![CDATA[
-                <HttpRequest Url="http://mydomain.com/index.php?checkdb=1" 
-                    EnsureResponseContains="Database upgrade check completed successfully." 
-                    FailOnNon2xxResponse="true" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Net.HttpRequest.#ctor">
-            <summary>
-            Constructor to set the default parameters for http request
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Net.HttpRequest.Execute">
-            <summary>
-            Entry Point inherited from Task
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Net.HttpRequest.Url">
-            <summary>
-            The URL to make an HTTP request against.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Net.HttpRequest.EnsureResponseContains">
-            <summary>
-            Optional: if set then the task fails if the response text doesn't contain the text specified.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Net.HttpRequest.FailOnNon2xxResponse">
-            <summary>
-            Default is true.  When true, if the web server returns a status code less than 200 or greater than 299 then the task fails.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Net.HttpRequest.Method">
-            <summary>
-            Optional, default is GET. The HTTP method to use for the request.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Net.HttpRequest.Username">
-            <summary>
-            Optional. The username to use with basic authentication.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Net.HttpRequest.Password">
-            <summary>
-            Optional. The password to use with basic authentication.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Net.HttpRequest.ReadRequestFrom">
-            <summary>
-            Optional; the name of the file to reqd the request from.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Net.HttpRequest.WriteResponseTo">
-            <summary>
-            Optional; the name of the file to write the response to.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.NuGet.NuGetBase">
-            <summary>
-            A base class for NuGet tasks.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.NuGet.NuGetBase.GenerateFullPathToTool">
-            <summary>
-            Returns the fully qualified path to the executable file.
-            </summary>
-            <returns>
-            The fully qualified path to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.NuGet.NuGetBase.GetWorkingDirectory">
-            <summary>
-            Returns the directory in which to run the executable file.
-            </summary>
-            <returns>
-            The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetBase.WorkingDirectory">
-            <summary>
-            Gets or sets the working directory.
-            </summary>
-            <value>The working directory.</value>
-            <returns>
-            The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetBase.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <value></value>
-            <returns>The name of the executable file to run.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetBase.StandardOutputLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log output.
-            </summary>
-            <value></value>
-            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log output.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetBase.StandardErrorLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
-            </summary>
-            <value></value>
-            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.NuGet.NuGetPack">
-            <summary>
-            Creates a NuGet package based on the specified nuspec or project file.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.NuGet.NuGetPack._outputFilePathParse">
-            <summary>
-            The Regex used to get the full path to the NuGet Package created by the NuGetPack Task
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.NuGet.NuGetPack.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.NuGet.NuGetPack.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
-            <summary>
-            Logs the events from text output.
-            </summary>
-            <param name="singleLine">The single line.</param>
-            <param name="messageImportance">The message importance.</param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPack.File">
-            <summary>
-            The location of the nuspec or project file to create a package.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPack.OutputDirectory">
-            <summary>
-            Specifies the directory for the created NuGet package.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPack.Version">
-            <summary>
-            Overrides the version number from the nuspec file.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPack.BasePath">
-            <summary>
-            The base path of the files defined in the nuspec file.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPack.Verbose">
-            <summary>
-            Shows verbose output for package building.
-            </summary>
-            <value><c>true</c> if verbose; otherwise, <c>false</c>.</value>
-            <remarks>
-            Depricated in NuGet 2.0.  Use <see cref="P:MSBuild.Community.Tasks.NuGet.NuGetPack.Verbosity"/> instead.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPack.Verbosity">
-            <summary>
-            Display this amount of details in the output.
-            </summary>
-            <value><c>normal</c>; <c>quiet</c>; ; <c>detailed</c></value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPack.Symbols">
-            <summary>
-            Determines if a package containing sources and symbols should be created. When specified with a nuspec, 
-            creates a regular NuGet package file and the corresponding symbols package.
-            </summary>
-            <value>
-              <c>true</c> if symbols; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPack.Properties">
-            <summary>
-            Provides the ability to specify a semicolon ";" delimited list of properties when creating a package.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPack.OutputFilePath">
-            <summary>
-            The full file path of the NuGet package created by the NuGetPack task
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.NuGet.NuGetPush">
-            <summary>
-            Pushes a package to the server and optionally publishes it.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.NuGet.NuGetPush.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPush.File">
-            <summary>
-            The path to the package to push the package to the server.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPush.APIKey">
-            <summary>
-            The API key to use for push to the server.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPush.Source">
-            <summary>
-            Specifies the server URL.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPush.CreateOnly">
-            <summary>
-            Specifies if the package should be created and uploaded to the server but not published to the server. False by default.
-            </summary>
-            <value>
-              <c>true</c> if create only; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.PathUtil.RelativePathTo(System.String,System.String)">
-            <summary>  
-            Creates a relative path from one file  
-            or folder to another.  
-            </summary>  
-            <param name="fromDirectory">  
-            Contains the directory that defines the   
-            start of the relative path.  
-            </param>  
-            <param name="toPath">  
-            Contains the path that defines the  
-            endpoint of the relative path.  
-            </param>  
-            <returns>  
-            The relative path from the start  
-            directory to the end path.  
-            </returns>  
-            <exception cref="T:System.ArgumentNullException">
-            Thrown if <paramref name="fromDirectory"/> or <paramref name="toPath"/> are null.
-            </exception>  
-        </member>
-        <member name="T:MSBuild.Community.Tasks.RegexCompiler">
-            <summary>
-            Compiles regular expressions and saves them to disk in an assembly.
-            </summary>
-            <remarks>
-      <para>
-        When defining the regular expressions in an MSBuild project file, the ItemGroup
-        item must have a metadata tag called 'Pattern' that is the actually regular expression.
-        Other optional metadata tags are the following.
-        <list type="table">
-          <listheader>
-            <term>Metadata Tags</term>
-            <description>Description</description>
-          </listheader>
-          <item>
-            <term>Pattern</term>
-            <description>The actually regular expression pattern to be compiled. (Required)</description>
-          </item>
-          <item>
-            <term>Options</term>
-            <description>The RegexOptions for the expression.</description>
-          </item>
-          <item>
-            <term>Namespace</term>
-            <description>The class namespace for the compile class.</description>
-          </item>
-          <item>
-            <term>IsPublic</term>
-            <description>A flag if the generated expression should be public.</description>
-          </item>
-        </list>
-      </para>
-    </remarks><example>
-      Creates an assembly with the compiled regular expressions.
-      <code>
-        <![CDATA[
-  <ItemGroup>
-    <RegexPatterns Include="TextRegex">
-      <Pattern>\G[^&lt;]+</Pattern>
-      <Options>RegexOptions.Singleline | RegexOptions.Multiline</Options>
-    </RegexPatterns>
-    <RegexPatterns Include="CommentRegex">
-      <Pattern>\G&lt;%--(([^-]*)-)*?-%&gt;</Pattern>
-      <Options>RegexOptions.Singleline | RegexOptions.Multiline</Options>
-    </RegexPatterns>
-    <RegexPatterns Include="CodeRegex">
-      <Pattern>\G&lt;%(?![@%])(?&lt;code&gt;.*?)%&gt;</Pattern>
-      <Options>RegexOptions.Singleline | RegexOptions.Multiline</Options>
-      <Namespace>MSBuild.Community.RegularExpressions</Namespace>
-    </RegexPatterns>
-  </ItemGroup>
-
-  <Target Name="RegexCompiler">
-    <RegexCompiler
-      OutputDirectory="Test"
-      RegularExpressions="@(RegexPatterns)"
-      Namespace="MSBuild.RegularExpressions"
-      AssemblyName="MSBuild.RegularExpressions.dll"
-      AssemblyTitle="MSBuild.RegularExpressions"
-      AssemblyDescription="MSBuild Community Tasks Regular Expressions"
-      AssemblyCompany="Company Name, LLC"
-      AssemblyProduct="MSBuildTasks"
-      AssemblyCopyright="Copyright (c) MSBuildTasks 2008"
-      AssemblyVersion="1.0.0.0"
-      AssemblyFileVersion="1.0.0.0" />
-  </Target>
-]]>
-      </code>
-    </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.RegexCompiler.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.RegexCompiler"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.RegexCompiler.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyName">
-            <summary>
-            Gets or sets the name of the assembly to be created by the regex compiler.
-            </summary>
-            <value>The name of the assembly.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyTitle">
-            <summary>
-            Gets or sets the assembly title.
-            </summary>
-            <value>The assembly title.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyDescription">
-            <summary>
-            Gets or sets the assembly description.
-            </summary>
-            <value>The assembly description.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyCompany">
-            <summary>
-            Gets or sets the assembly company.
-            </summary>
-            <value>The assembly company.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyProduct">
-            <summary>
-            Gets or sets the assembly product.
-            </summary>
-            <value>The assembly product.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyCopyright">
-            <summary>
-            Gets or sets the assembly copyright.
-            </summary>
-            <value>The assembly copyright.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyCulture">
-            <summary>
-            Gets or sets the assembly culture.
-            </summary>
-            <value>The assembly culture.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyVersion">
-            <summary>
-            Gets or sets the assembly version.
-            </summary>
-            <value>The assembly version.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyFileVersion">
-            <summary>
-            Gets or sets the assembly file version.
-            </summary>
-            <value>The assembly file version.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyInformationalVersion">
-            <summary>
-            Gets or sets the assembly informational version.
-            </summary>
-            <value>The assembly informational version.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyKeyFile">
-            <summary>
-            Gets or sets the assembly key file.
-            </summary>
-            <value>The assembly key file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexCompiler.OutputDirectory">
-            <summary>
-            Gets or sets the directory where the assembly will be saved.
-            </summary>
-            <value>The output directory.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexCompiler.OutputFile">
-            <summary>
-            Gets or sets the output file.
-            </summary>
-            <value>The output file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexCompiler.RegularExpressions">
-            <summary>
-            Gets or sets the regular expressions.
-            </summary>
-            <value>The regular expressions.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexCompiler.RegularExpressionsFile">
-            <summary>
-            Gets or sets the file defining the regular expressions.
-            </summary>
-            <value>The regular expressions file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexCompiler.IsPublic">
-            <summary>
-            Gets or sets a value indicating whether the default value is public for regular expression instances.
-            </summary>
-            <value><c>true</c> if regular expression instance is public; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexCompiler.Namespace">
-            <summary>
-            Gets or sets the default namespace for regular expression instances.
-            </summary>
-            <value>The namespace for regular expression instances.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexCompiler.Options">
-            <summary>
-            Gets or sets the default regular expression options.
-            </summary>
-            <value>The default regular expression options.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Sandcastle.BuildAssembler">
-            <summary>
-            BuildAssembler task for Sandcastle.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase">
-            <summary>
-            A base class for Sandcastle Tools,
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.GenerateFullPathToTool">
-            <summary>
-            Returns the fully qualified path to the executable file.
-            </summary>
-            <returns>
-            The fully qualified path to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.LogToolCommand(System.String)">
-            <summary>
-            Logs the starting point of the run to all registered loggers.
-            </summary>
-            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
-            <summary>
-            Logs the events from text output.
-            </summary>
-            <param name="singleLine">The single line.</param>
-            <param name="messageImportance">The message importance.</param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.SandcastleEnviroment">
-            <summary>
-            Gets or sets the sandcastle enviroment.
-            </summary>
-            <value>The sandcastle enviroment.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.EnviromentVariables">
-            <summary>
-            Gets or sets the enviroment variables.
-            </summary>
-            <value>The enviroment variables.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.SandcastleRoot">
-            <summary>
-            Gets or sets the sandcastle install root directory.
-            </summary>
-            <value>The sandcastle root directory.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.NoInfoMessages">
-            <summary>
-            Gets or sets a value indicating whether no info messages will be output.
-            </summary>
-            <value><c>true</c> if no info messages; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.NoWarnMessages">
-            <summary>
-            Gets or sets a value indicating whether no warning messages will be output.
-            </summary>
-            <value><c>true</c> if no warning messages; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.StandardOutputLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
-            </summary>
-            <value></value>
-            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.StandardErrorLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
-            </summary>
-            <value></value>
-            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.EnvironmentOverride">
-            <summary>
-            Gets the override value of the PATH environment variable.
-            </summary>
-            <value></value>
-            <returns>The override value of the PATH environment variable.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Sandcastle.BuildAssembler.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.BuildAssembler.ConfigFile">
-            <summary>
-            Gets or sets the configuration file.
-            </summary>
-            <value>The configuration file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.BuildAssembler.ManifestFile">
-            <summary>
-            Gets or sets the manifest file.
-            </summary>
-            <value>The manifest file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.BuildAssembler.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <value></value>
-            <returns>The name of the executable file to run.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Sandcastle.ChmBuilder">
-            <summary>
-            ChmBuilder task for Sandcastle.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Sandcastle.ChmBuilder.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.ChmBuilder.HtmlDirectory">
-            <summary>
-            Gets or sets the HTML directory.
-            </summary>
-            <value>The HTML directory.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.ChmBuilder.ProjectName">
-            <summary>
-            Gets or sets the name of the project.
-            </summary>
-            <value>The name of the project.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.ChmBuilder.TocFile">
-            <summary>
-            Gets or sets the toc file.
-            </summary>
-            <value>The toc file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.ChmBuilder.OutputDirectory">
-            <summary>
-            Gets or sets the output file.
-            </summary>
-            <value>The output file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.ChmBuilder.Metadata">
-            <summary>
-            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Sandcastle.ChmBuilder"/> is metadata.
-            </summary>
-            <value><c>true</c> if metadata; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.ChmBuilder.LanguageId">
-            <summary>
-            Gets or sets the language id.
-            </summary>
-            <value>The language id.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.ChmBuilder.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <value></value>
-            <returns>The name of the executable file to run.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Sandcastle.DBCSFix">
-            <summary>
-            DBCSFix task for Sandcastle.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Sandcastle.DBCSFix.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.DBCSFix.ChmDirectory">
-            <summary>
-            Gets or sets the CHM directory.
-            </summary>
-            <value>The CHM directory.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.DBCSFix.LanguageId">
-            <summary>
-            Gets or sets the language id.
-            </summary>
-            <value>The language id.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.DBCSFix.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <value></value>
-            <returns>The name of the executable file to run.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Sandcastle.MRefBuilder">
-            <summary>
-            MRefBuilder task for Sandcastle.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Sandcastle.MRefBuilder.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.MRefBuilder.OutputFile">
-            <summary>
-            Gets or sets the output file.
-            </summary>
-            <value>The output file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.MRefBuilder.ConfigFile">
-            <summary>
-            Gets or sets the config file.
-            </summary>
-            <value>The config file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.MRefBuilder.References">
-            <summary>
-            Gets or sets the references.
-            </summary>
-            <value>The references.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.MRefBuilder.Assemblies">
-            <summary>
-            Gets or sets the assemblies.
-            </summary>
-            <value>The assemblies.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.MRefBuilder.IncludeInternal">
-            <summary>
-            Gets or sets a value indicating whether to include internal members.
-            </summary>
-            <value><c>true</c> to include internal; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.MRefBuilder.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <value></value>
-            <returns>The name of the executable file to run.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Sandcastle.Sandcastle">
-            <summary>
-            The Sandcastle task.
-            </summary>
-            <example>Create the Html Help for MSBuild Community Task project.
-            <code><![CDATA[
-            <Sandcastle TopicStyle="vs2005"
-                WorkingDirectory="$(MSBuildProjectDirectory)\Help"
-                Assemblies="@(Assemblies)"
-                Comments="@(Comments)"
-                References="@(References)"
-                ChmName="MSBuildTasks"
-                HxName="MSBuildTasks" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Sandcastle.Sandcastle.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Sandcastle.Sandcastle"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Sandcastle.Sandcastle.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.SandcastleRoot">
-            <summary>
-            Gets or sets the sandcastle install root directory.
-            </summary>
-            <value>The sandcastle root directory.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.WorkingDirectory">
-            <summary>
-            Gets or sets the working directory.
-            </summary>
-            <value>The working directory.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.TopicStyle">
-            <summary>
-            Gets or sets the html help topic style.
-            </summary>
-            <value>The html help topic style.</value>
-            <remarks>
-            The styles supported are hana, prototype and vs2005. 
-            The default style is vs2005.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.Clean">
-            <summary>
-            Gets or sets a value indicating whether working directory is cleaned.
-            </summary>
-            <value><c>true</c> if clean; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.References">
-            <summary>
-            Gets or sets the references.
-            </summary>
-            <value>The references.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.Assemblies">
-            <summary>
-            Gets or sets the assemblies.
-            </summary>
-            <value>The assemblies.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.Comments">
-            <summary>
-            Gets or sets the comments.
-            </summary>
-            <value>The comments.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.SandcastleConfig">
-            <summary>
-            Gets or sets the build assembler config file.
-            </summary>
-            <value>The build assembler config.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.ChmName">
-            <summary>
-            Gets or sets the name of the CHM.
-            </summary>
-            <value>The name of the CHM.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.LanguageId">
-            <summary>
-            Gets or sets the language id.
-            </summary>
-            <value>The language id.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.HxName">
-            <summary>
-            Gets or sets a value indicating a Html Help 2x project will be created.
-            </summary>
-            <value>The name of the Html Help 2x project.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.NoInfoMessages">
-            <summary>
-            Gets or sets a value indicating whether no info messages will be output.
-            </summary>
-            <value><c>true</c> if no info messages; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.NoWarnMessages">
-            <summary>
-            Gets or sets a value indicating whether no warning messages will be output.
-            </summary>
-            <value><c>true</c> if no warning messages; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Sandcastle.SandcastleEnviroment">
-            <summary>
-            A class representing the sandcastle enviroment.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Sandcastle.SandcastleEnviroment.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Sandcastle.SandcastleEnviroment"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Sandcastle.SandcastleEnviroment.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Sandcastle.SandcastleEnviroment"/> class.
-            </summary>
-            <param name="sandcastleRoot">The sandcastle root.</param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleEnviroment.SandcastleRoot">
-            <summary>
-            Gets or sets the sandcastle root.
-            </summary>
-            <value>The sandcastle root.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleEnviroment.ToolsDirectory">
-            <summary>
-            Gets or sets the tools directory.
-            </summary>
-            <value>The tools directory.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleEnviroment.TransformsDirectory">
-            <summary>
-            Gets or sets the transforms directory.
-            </summary>
-            <value>The transforms directory.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleEnviroment.PresentationDirectory">
-            <summary>
-            Gets or sets the presentation directory.
-            </summary>
-            <value>The presentation directory.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Sandcastle.XslTransform">
-            <summary>
-            XslTransform task for Sandcastle.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Sandcastle.XslTransform.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.XslTransform.OutputFile">
-            <summary>
-            Gets or sets the output file.
-            </summary>
-            <value>The output file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.XslTransform.XsltFiles">
-            <summary>
-            Gets or sets the XSLT files.
-            </summary>
-            <value>The XSLT files.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.XslTransform.XmlFile">
-            <summary>
-            Gets or sets the XML files.
-            </summary>
-            <value>The XML files.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.XslTransform.Arguments">
-            <summary>
-            Gets or sets the arguments.
-            </summary>
-            <value>The arguments.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sandcastle.XslTransform.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <value></value>
-            <returns>The name of the executable file to run.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Services.IFilesSystem">
-            <summary>
-            The contract for a service that will provide access to the file system.
-            </summary>
-            <exclude />
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Services.IFilesSystem.FileExists(System.String)">
-            <summary>
-            Determines whether the specified file exists.
-            </summary>
-            <param name="path">The path of the file to check.</param>
-            <returns><c>True</c> if the file exists on the filesystem.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Services.IFilesSystem.ReadTextFromFile(System.String)">
-            <summary>
-            Returns the contents of a file.
-            </summary>
-            <param name="fileName">The path of the file to read.</param>
-            <returns>The text with the specified file.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Services.IFilesSystem.WriteTextToFile(System.String,System.String)">
-            <summary>
-            Writes text to a file.
-            </summary>
-            <param name="fileName">The path of the file to write.</param>
-            <param name="contents">The text to write to the file.</param>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Services.FileSystem">
-            <summary>
-            Provides access to the file system.
-            </summary>
-            <exclude />
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Services.FileSystem.FileExists(System.String)">
-            <summary>
-            Determines whether the specified file exists.
-            </summary>
-            <param name="path">The path of the file to check.</param>
-            <returns><c>True</c> if the file exists on the filesystem.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Services.FileSystem.ReadTextFromFile(System.String)">
-            <summary>
-            Returns the contents of a file.
-            </summary>
-            <param name="fileName">The path of the file to read.</param>
-            <returns>The text with the specified file.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Services.FileSystem.WriteTextToFile(System.String,System.String)">
-            <summary>
-            Writes text to a file.
-            </summary>
-            <param name="fileName">The path of the file to write.</param>
-            <param name="contents">The text to write to the file.</param>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.GacUtilCommands">
-            <summary>
-            The list of the commands available to the GacUtil Task
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.GacUtilCommands.Install">
-            <summary>Install the list of assemblies into the GAC.</summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.GacUtilCommands.Uninstall">
-            <summary>Uninstall the list of assembly names from the GAC.</summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.GacUtil">
-            <summary>
-            MSBuild task to install and uninstall assemblies into the GAC
-            </summary>
-            <example>Install a dll into the GAC.
-            <code><![CDATA[
-                <GacUtil 
-                    Command="Install" 
-                    Assemblies="MSBuild.Community.Tasks.dll" 
-                    Force="true" />
-            ]]></code>
-            </example>
-            <example>Uninstall a dll from the GAC.
-            <code><![CDATA[
-                <GacUtil 
-                    Command="Uninstall" 
-                    Assemblies="MSBuild.Community.Tasks" 
-                    Force="true" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.GacUtil.Execute">
-            <summary>
-            Runs the executable file with the specified task parameters.
-            </summary>
-            <returns>
-            true if the task runs successfully; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.GacUtil.Command">
-            <summary>
-            Gets or sets the command.
-            </summary>
-            <value>The command.</value>
-            <enum cref="T:MSBuild.Community.Tasks.GacUtilCommands"/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.GacUtil.RelatedFileExtensions">
-            <summary>
-            Gets or sets the related file extensions to copy when <see cref="P:MSBuild.Community.Tasks.GacUtil.IncludeRelatedFiles"/> is true.
-            </summary>
-            <value>The related file extensions.</value>
-            <remarks>
-            The default extensions are .pdb and .xml.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.GacUtil.IncludeRelatedFiles">
-            <summary>
-            Gets or sets a value indicating whether related files are included when installing in GAC.
-            </summary>
-            <value><c>true</c> if related files are included when installing in GAC; otherwise, <c>false</c>.</value>
-            <remarks>
-            Setting IncludeRelatedFiles to true will copy the pdb and xml files from the same folder as the
-            assembly to the location in the GAC that the assembly was installed to.  This is useful in some  
-            debugging scenarios were you need to debug assemblies that are GAC'd.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.GacUtil.Quiet">
-            <summary>
-            Gets or sets a value indicating whether warning messages are output.
-            </summary>
-            <value><c>true</c> to not log warning messages; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.GacUtil.Force">
-            <summary>
-            Gets or sets a value indicating whether to force reinstall of an assembly.
-            </summary>
-            <value><c>true</c> if force; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.GacUtil.Assemblies">
-            <summary>
-            Gets or sets the assembly name or file.
-            </summary>
-            <value>The assembly name or file.</value>
-            <remarks>
-            When the command is install, Assemblies should be a file path to the assembly
-            to install in the GAC.  When command is uninstall, Assemblies should be a 
-            the full name of the assembly to uninstall.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.GacUtil.InstalledPaths">
-            <summary>
-            Gets the installed assembly paths.
-            </summary>
-            <value>The installed paths.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.GacUtil.InstalledNames">
-            <summary>
-            Gets the installed assembly names.
-            </summary>
-            <value>The installed names.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.GacUtil.Successful">
-            <summary>
-            Gets the number of assemblies successfully installed/uninstalled.
-            </summary>
-            <value>The number successful assemblies.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.GacUtil.Failed">
-            <summary>
-            Gets the number of assemblies that failed to installed/uninstalled.
-            </summary>
-            <value>The number failed assemblies.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.GacUtil.Skipped">
-            <summary>
-            Gets the number of assemblies that were skipped during installed/uninstalled.
-            </summary>
-            <value>The number of skipped assemblies.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.JavaScript.JSCompress">
-            <summary>
-            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.
-            </summary>
-            <remarks>
-            This task does not change the behavior of the program that it is 
-            compressing. The resulting code will be harder to debug as well as
-            harder to read.
-            </remarks>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.JavaScript.JSCompress.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.JavaScript.JSCompress.Files">
-            <summary>
-            Gets or sets the files to source-compress.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.JavaScript.JSCompress.Encoding">
-            <summary>
-            Encoding to use to read and write files.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.JavaScript.JSCompress.CompressedFiles">
-            <summary>
-            Gets the files that were successfully source-compressed.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Oracle.AddTnsName">
-            <summary>
-            Defines a database host within the Oracle TNSNAMES.ORA file.
-            </summary>
-            <example>Add an entry to the system default TNSNAMES.ORA file and update any entry that already exists:
-            <code><![CDATA[ <AddTnsName AllowUpdates="True" EntryName="northwind.world" EntryText="(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = northwinddb01)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = northwind.world)))"  /> ]]>
-            </code>
-            </example>
-            <example>Add an entry to a specific file and fail if the entry already exists:
-            <code><![CDATA[ <AddTnsName TnsNamesFile="c:\oracle\network\admin\tnsnames.ora" AllowUpdates="False" EntryName="northwind.world" EntryText="(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = northwinddb01)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = northwind.world)))"  /> ]]>
-            </code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Oracle.AddTnsName.#ctor(MSBuild.Community.Tasks.Services.IRegistry,MSBuild.Community.Tasks.Services.IFilesSystem)">
-            <summary>
-            Creates a new instance of the AddTnsName task using dependency injection.
-            </summary>
-            <param name="registry">A service that provides access to the Windows registry.</param>
-            <param name="fileSystem">A service that provides access to the file system.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Oracle.AddTnsName.#ctor">
-            <summary>
-            Creates a new instance of the AddTnsName task using the default system services.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Oracle.AddTnsName.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Oracle.AddTnsName.GetEffectivePathToTnsNamesFile">
-            <summary>
-            Determines which TNSNAMES.ORA file to update based on task input and the current system environment.
-            </summary>
-            <returns>The path of the TNSNAMES.ORA file that will be used by the task.</returns>
-            <exclude />
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Oracle.AddTnsName.TnsNamesFile">
-            <summary>
-            The path to a specific TNSNAMES.ORA file to update.
-            </summary>
-            <remarks>If not specified, the default is %ORACLE_HOME%\network\admin\tnsnames.ora</remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Oracle.AddTnsName.OriginalFileText">
-            <summary>
-            The contents of the TNSNAMES.ORA file before any changes are made.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Oracle.AddTnsName.ModifiedFile">
-            <summary>
-            The path to the TNSNAMES.ORA that was used by task.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Oracle.AddTnsName.EntryName">
-            <summary>
-            The name of the host entry to add.
-            </summary>
-            <remarks>To be properly recognized by Oracle, the value must contain a period, followed by a suffix. For example: mydatabase.world</remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Oracle.AddTnsName.ModifiedFileText">
-            <summary>
-            The contents of the TNSNAMES.ORA file after the task executes.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Oracle.AddTnsName.EntryText">
-            <summary>
-            The definition of the host entry to add.
-            </summary>
-            <remarks>To be properly recognized by Oracle, the value must be surrounded by parentheses.</remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Oracle.AddTnsName.AllowUpdates">
-            <summary>
-            When true, the task will update an existing entry with <see cref="P:MSBuild.Community.Tasks.Oracle.AddTnsName.EntryName"/>. 
-            If false, the task will fail if <see cref="P:MSBuild.Community.Tasks.Oracle.AddTnsName.EntryName"/> already exists.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Oracle.TnsEntry">
-            <summary>
-            Contains information about a TNS definition
-            </summary>
-            <exclude />
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Oracle.TnsEntry.#ctor(System.Int32,System.Int32)">
-            <summary>
-            Creates a new instance of a TnsEntry
-            </summary>
-            <param name="startPosition">The position of the entry within a TNSNAMES.ORA file</param>
-            <param name="length">The length of the entry definition within the TNSNAMES.ORA file</param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Oracle.TnsEntry.StartPosition">
-            <summary>
-            The position of the entry within a TNSNAMES.ORA file
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Oracle.TnsEntry.Length">
-            <summary>
-            The length of the entry definition within the TNSNAMES.ORA file
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Oracle.TnsParser">
-            <summary>
-            Locates host entries within a TNSNAMES.ORA file
-            </summary>
-            <exclude />
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Oracle.TnsParser.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the parser using the contents of a TNSNAMES.ORA file.
-            </summary>
-            <param name="content"></param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Oracle.TnsParser.FindEntry(System.String)">
-            <summary>
-            Locates a host entry by its name.
-            </summary>
-            <param name="name">The name of the entry to find.</param>
-            <returns>A <see cref="T:MSBuild.Community.Tasks.Oracle.TnsEntry"/> which contains information about the location of the entry within the file.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.RoboCopy">
-            <summary>
-            Task wrapping the Window Resource Kit Robocopy.exe command.
-            </summary>
-            <example>Deploy website to web server.
-            <code><![CDATA[
-            <RoboCopy 
-                SourceFolder="$(MSBuildProjectDirectory)" 
-                DestinationFolder="\\server\webroot\" 
-                Mirror="true"
-                ExcludeFolders=".svn;obj;Test"
-                ExcludeFiles="*.cs;*.resx;*.csproj;*.webinfo;*.log"
-                NoJobHeader="true"
-            />  
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.RoboCopy.HandleTaskExecutionErrors">
-            <summary>
-            Handles execution errors raised by the executable file.
-            </summary>
-            <returns>
-            true if the method runs successfully; otherwise, false.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.RoboCopy.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.RoboCopy.GenerateFullPathToTool">
-            <summary>
-            Returns the fully qualified path to the executable file.
-            </summary>
-            <returns>
-            The fully qualified path to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.RoboCopy.LogToolCommand(System.String)">
-            <summary>
-            Logs the starting point of the run to all registered loggers.
-            </summary>
-            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.SourceFolder">
-            <summary>
-            Source directory 
-            </summary>
-            <remarks>
-            You can use drive:\path or \\server\share\path
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.SourceFiles">
-            <summary>
-            Names of files to act upon.
-            </summary>
-            <remarks>
-            You can use wildcard characters (? and *). If no 
-            files are listed, Robocopy defaults to all files (*.*).
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.DestinationFolder">
-            <summary>
-            Destination directory.
-            </summary>
-            <remarks>
-            You can use drive:\path or \\server\share\path
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.Subdirectories">
-            <summary>
-            /S	Copies subdirectories (excluding empty ones).
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.AllSubdirectories">
-            <summary>
-            /E	Copies all subdirectories (including empty ones).
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.RestartableMode">
-            <summary>
-            /Z	Copies files in restartable mode (that is, restarts the copy process from the point of failure).
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.BackupMode">
-            <summary>
-            /B	Copies files in Backup mode (Backup copies are not restartable, but can copy some files that restartable mode cannot).
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.CopyFlags">
-            <summary>
-            /COPY:copyflags Copies the file information specified by copyflags.
-            </summary>
-            <remarks>
-            D – file Data, S – file Security (NTFS ACLs), A – file Attributes,
-            O – file Ownership information, T – file Timestamps, U – file Auditing infomation.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.CopyAll">
-            <summary>
-            /COPYALL	Copies Everything. Equivalent to /COPY:DATSOU.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.NoCopy">
-            <summary>
-            /NOCOPY	Copies Nothing. Can be useful with /PURGE. 
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.Security">
-            <summary>
-            /SEC	Copies NTFS security information. (Source and destination volumes must both be NTFS). Equivalent to /COPY:DATS.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.MoveFiles">
-            <summary>
-            /MOV	Moves files (that is, deletes source files after copying).
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.Move">
-            <summary>
-            /MOVE	Moves files and directories (that is, deletes source files and directories after copying).
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.Purge">
-            <summary>
-            /PURGE	Deletes destination files and directories that no longer exist in the source.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.Mirror">
-            <summary>
-            /MIR	Mirrors a directory tree (equivalent to running both /E and /PURGE).
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.Create">
-            <summary>
-            /CREATE	Creates a directory tree structure containing zero-length files only (that is, no file data is copied).
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.FatFileNames">
-            <summary>
-            /FAT 	Creates destination files using only 8.3 FAT file names.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.FatFileTimes">
-            <summary>
-            /FFT	Assume FAT File Times (2-second granularity).
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.IncludeAttributes">
-            <summary>
-            /IA:{R|A|S|H|C|N|E|T|O} Includes files with the specified attributes.
-            </summary>
-            <remarks>
-            The following file attributes can be acted upon:
-            R – Read only, A – Archive, S – System, H – Hidden, 
-            C – Compressed, N – Not content indexed, E – Encrypted, 
-            T – Temporary, O - Offline
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.ExcluedAttributes">
-            <summary>
-            /XA:{R|A|S|H|C|N|E|T|O} Excludes files with the specified attributes.
-            </summary>
-            <remarks>
-            The following file attributes can be acted upon:
-            R – Read only, A – Archive, S – System, H – Hidden, 
-            C – Compressed, N – Not content indexed, E – Encrypted, 
-            T – Temporary, O - Offline
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.IncludeArchive">
-            <summary>
-            /A	Copies only files with the archive attribute set.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.IncludeArchiveClear">
-            <summary>
-            /M	Copies only files with the archive attribute set and then resets (turns off) the archive attribute in the source files.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.ExcludeJunctions">
-            <summary>
-            /XJ	Excludes Junction points.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.ExcludeFiles">
-            <summary>
-            /XF file [file]	Excludes files with the specified names, paths, or wildcard characters.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.ExcludeFolders">
-            <summary>
-            /XD dir [dir]	Excludes directories with the specified names, paths, or wildcard characters.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.Verbose">
-            <summary>
-            /V 	Produces verbose output (including skipped files).
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.NoFileLogging">
-            <summary>
-            /NFL 	Turns off logging of file names. File names are still shown, however, if file copy errors occur.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.NoFolderLogging">
-            <summary>
-            /NDL 	Turns off logging of directory names. Full file pathnames (as opposed to simple file names) will be shown if /NDL is used.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.NoJobHeader">
-            <summary>
-            /NJH	Turns of logging of the job header.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.NoJobSummary">
-            <summary>
-            /NJS	Turns off logging of the job summary.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.NoProgress">
-            <summary>
-            /NP 	Turns off copy progress indicator (% copied).
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.LogFile">
-            <summary>
-            /LOG:file	Redirects output to the specified file, overwriting the file if it already exists.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.AppendLogFile">
-            <summary>
-            /LOG+:file	Redirects output to the specified file, appending it to the file if it already exists.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.Options">
-            <summary>
-            Manually entered options.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <value></value>
-            <returns>The name of the executable file to run.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RoboCopy.StandardOutputLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
-            </summary>
-            <value></value>
-            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Sound">
-            <summary>
-            A task to play a sound from a .wav file path or URL.
-            </summary>
-            <remarks>
-      You must specify either
-      a file or URL (<see cref="P:MSBuild.Community.Tasks.Sound.SoundLocation"/>),
-      a file relative to the <see cref="P:System.Environment.SystemDirectory"/> (<see cref="P:MSBuild.Community.Tasks.Sound.SystemSoundFile"/>),
-      or a file within the <see cref="F:System.Environment.SpecialFolder.MyMusic"/> folder (<see cref="P:MSBuild.Community.Tasks.Sound.MyMusicFile"/>).
-    </remarks><example>
-      To play the windows XP startup sound, use
-      <code>
-        <![CDATA[<Sound SystemSoundFile="..\Media\Windows XP Startup.wav" />]]>
-      </code>
-    </example><example>
-      To play a wav file from the "MyMusic" folder, use
-      <code>
-        <![CDATA[<Sound MyMusicFile="25881_acclivity_3beeps1000.wav" />]]>
-      </code>
-    </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Sound.Execute">
-            <summary>
-            Loads the .wav file given by <see cref="P:MSBuild.Community.Tasks.Sound.SoundLocation"/>
-            and plays the sound using a new thread.
-            </summary>
-            <returns>
-            Returns <see langword="true"/> if the .wav file can successfully be played;
-            otherwise, returns <see langword="false"/>.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sound.SoundLocation">
-            <summary>
-            Gets or sets the file path or URL of the .wav file to load.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sound.SystemSoundFile">
-            <summary>
-            Sets the file path of the .wav file to load
-            as a relative path to <see cref="P:System.Environment.SystemDirectory"/>.
-            </summary>
-            <example>
-            For example, on a Windows XP platform, you can call
-            <code><![CDATA[<Sound SystemSoundFile="..\Media\Windows XP Startup.wav" />]]></code>
-            </example>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sound.MyMusicFile">
-            <summary>
-            Sets the file path of the .wav file to load
-            as a relative path to <see cref="F:System.Environment.SpecialFolder.MyMusic"/>.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sound.LoadTimeout">
-            <summary>
-            Gets or sets the time, in milliseconds, in which the .wav file must load.
-            </summary>
-            <value>The number of milliseconds to wait. The default is 10000 (10 seconds).</value>
-            <remarks>
-            After this time has expired, the loading is canceled and the task execution fails.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sound.Synchron">
-            <summary>
-            Gets or sets a value indicating whether to play the sound synchronously.
-            </summary>
-            <value>
-            	<see langword="true"/> if playing the sound using the caller's thread (default);
-            otherwise, <see langword="false"/> if playing the sound using a new thread.
-            </value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.SourceServer.FileBase">
-            <summary>
-            A base class that has a file.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.FileBase.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.SourceServer.FileBase"/> class.
-            </summary>
-            <param name="fileName">Name of the file.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.FileBase.#ctor(System.IO.FileInfo)">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.SourceServer.FileBase"/> class.
-            </summary>
-            <param name="fileInfo">The file info.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.FileBase.ToString">
-            <summary>
-            Returns a <see cref="T:System.String"/> that represents this instance.
-            </summary>
-            <returns>
-            A <see cref="T:System.String"/> that represents this instance.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.FileBase.op_Implicit(MSBuild.Community.Tasks.SourceServer.FileBase)~System.String">
-            <summary>
-            Performs an implicit conversion from <see cref="T:MSBuild.Community.Tasks.SourceServer.FileBase"/> to <see cref="T:System.String"/>.
-            </summary>
-            <param name="file">The output file.</param>
-            <returns>The result of the conversion.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.FileBase.File">
-            <summary>
-            Gets or sets the file.
-            </summary>
-            <value>The file.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.SourceServer.PdbStrCommands">
-            <summary>
-            Commands for the <see cref="T:MSBuild.Community.Tasks.SourceServer.PdbStr"/> tasks.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.SourceServer.PdbStrCommands.read">
-            <summary>
-            Read stream from pdb symbol file.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.SourceServer.PdbStrCommands.write">
-            <summary>
-            Write stream to pdb symbol file.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.SourceServer.PdbStr">
-            <summary>
-            A task for the pdbstr from source server.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.PdbStr.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.PdbStr.GenerateFullPathToTool">
-            <summary>
-            Returns the fully qualified path to the executable file.
-            </summary>
-            <returns>
-            The fully qualified path to the executable file.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.PdbStr.PdbFile">
-            <summary>
-            Gets or sets the PDB file.
-            </summary>
-            <value>The PDB file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.PdbStr.StreamFile">
-            <summary>
-            Gets or sets the stream file.
-            </summary>
-            <value>The stream file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.PdbStr.StreamName">
-            <summary>
-            Gets or sets the name of the stream.
-            </summary>
-            <value>The name of the stream.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.PdbStr.Command">
-            <summary>
-            Gets or sets the command.
-            </summary>
-            <value>The command.</value>
-            <enum cref="T:MSBuild.Community.Tasks.SourceServer.PdbStrCommands"/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.PdbStr.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <value></value>
-            <returns>
-            The name of the executable file to run.
-            </returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.SourceServer.SourceFile">
-            <summary>
-            A class representing a source file.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.SourceFile.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.SourceServer.SourceFile"/> class.
-            </summary>
-            <param name="fileName">Name of the file.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.SourceFile.#ctor(System.IO.FileInfo)">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.SourceServer.SourceFile"/> class.
-            </summary>
-            <param name="fileInfo">The file info.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.SourceFile.ToSourceString(System.String)">
-            <summary>
-            Creates the source string.
-            </summary>
-            <param name="format">The format.</param>
-            <returns></returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.SourceFile.Properties">
-            <summary>
-            Gets or sets the properties.
-            </summary>
-            <value>The properties.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.SourceFile.IsResolved">
-            <summary>
-            Gets or sets a value indicating whether this instance is resolved.
-            </summary>
-            <value>
-            	<c>true</c> if this instance is resolved; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.SourceServer.SourceIndexBase">
-            <summary>
-            A base class for source indexing a pdb symbol file.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.Successful">
-            <remarks />
-        </member>
-        <member name="F:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.Failed">
-            <remarks />
-        </member>
-        <member name="F:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.Skipped">
-            <remarks />
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.IndexSymbolFile(Microsoft.Build.Framework.ITaskItem)">
-            <summary>
-            Indexes the symbol file.
-            </summary>
-            <param name="item">The symbol file task item.</param>
-            <returns><c>true</c> if index successfully; otherwise <c>false</c>.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.CreateSymbolFile(Microsoft.Build.Framework.ITaskItem)">
-            <summary>
-            Creates an instance of <see cref="T:MSBuild.Community.Tasks.SourceServer.SymbolFile"/> from the symbol file task item and add the source file list to it.
-            </summary>
-            <param name="item">The symbol file task item.</param>
-            <returns>An instance of <see cref="T:MSBuild.Community.Tasks.SourceServer.SymbolFile"/> or <c>null</c> if there was an error.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.AddSourceProperties(MSBuild.Community.Tasks.SourceServer.SymbolFile)">
-            <summary>
-            Adds the source properties to the symbol file.
-            </summary>
-            <param name="symbolFile">The symbol file to add the source properties to.</param>
-            <returns><c>true</c> if successful; otherwise <c>false</c>.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.CreateSourceIndexFile(MSBuild.Community.Tasks.SourceServer.SymbolFile,System.String)">
-            <summary>
-            Creates the source index file.
-            </summary>
-            <param name="symbolFile">The symbol file to create the index file from.</param>
-            <param name="sourceIndexFile">The source index file.</param>
-            <returns><c>true</c> if successful; otherwise <c>false</c>.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.WriteSourceIndex(MSBuild.Community.Tasks.SourceServer.SymbolFile,System.String)">
-            <summary>
-            Writes the source index file to the symbol file.
-            </summary>
-            <param name="symbolFile">The symbol file.</param>
-            <param name="sourceIndexFile">The source index file.</param>
-            <returns><c>true</c> if successful; otherwise <c>false</c>.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.CopyBuildEngine(Microsoft.Build.Framework.ITask)">
-            <summary>
-            Copies the build engine to the task.
-            </summary>
-            <param name="task">The task.</param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.SymbolFiles">
-            <summary>
-            Gets or sets the symbol files to have to source index added.
-            </summary>
-            <value>The symbol files.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.SourceServerSdkPath">
-            <summary>
-            Gets or sets the source server SDK path.
-            </summary>
-            <value>The source server SDK path.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.SourceServerName">
-            <summary>
-            Gets or sets the name of the source server.
-            </summary>
-            <value>The name of the source server.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.SourceCommandFormat">
-            <summary>
-            Gets or sets the source command format. The SRCSRVCMD environment variable.
-            </summary>
-            <value>The source command format.</value>
-            <remarks>
-            Describes how to build the command to extract the file from source control.
-            This includes the name of the executable file and its command-line parameters.
-            See srcsrv.doc for full documentation on SRCSRVCMD.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.SourceTargetFormat">
-            <summary>
-            Gets or sets the source target format. The SRCSRVTRG environment variable.
-            </summary>
-            <value>The source target format.</value>
-            <remarks>
-            Describes how to build the target path for the extracted file. 
-            See srcsrv.doc for full documentation on SRCSRVTRG.
-            </remarks>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.SourceServer.SrcTool">
-            <summary>
-            A task for the srctool from source server.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.SrcTool.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.SrcTool.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
-            <summary>
-            Parses a single line of text to identify any errors or warnings in canonical format.
-            </summary>
-            <param name="singleLine">A single line of text for the method to parse.</param>
-            <param name="messageImportance">A value of <see cref="T:Microsoft.Build.Framework.MessageImportance"/> that indicates the importance level with which to log the message.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.SrcTool.HandleTaskExecutionErrors">
-            <summary>
-            Handles execution errors raised by the executable file.
-            </summary>
-            <returns>
-            true if the method runs successfully; otherwise, false.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.SrcTool.GenerateFullPathToTool">
-            <summary>
-            Returns the fully qualified path to the executable file.
-            </summary>
-            <returns>
-            The fully qualified path to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.SrcTool.LogToolCommand(System.String)">
-            <summary>
-            Logs the starting point of the run to all registered loggers.
-            </summary>
-            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.PdbFile">
-            <summary>
-            Gets or sets the PDB file.
-            </summary>
-            <value>The PDB file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.SourceOnly">
-            <summary>
-            Gets or sets a value indicating whether to dumps raw source data from the PDB. The -r switch.
-            </summary>
-            <value><c>true</c> if source only; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.Filter">
-            <summary>
-            Gets or sets the filter to only source files that match this regular expression. The -l switch.
-            </summary>
-            <value>The filter regular expression.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.Extract">
-            <summary>
-            Gets or sets a value indicating whether to extracts the files, instead of simply listing them. The -x switch.
-            </summary>
-            <value><c>true</c> if extract; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.ExtractDirectory">
-            <summary>
-            Gets or sets the directory to extract to. The -d switch.
-            </summary>
-            <value>The extract directory.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.CountOnly">
-            <summary>
-            Gets or sets a value indicating whether to get the count of indexed files. The -c switch.
-            </summary>
-            <value><c>true</c> if count only; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.SourceCount">
-            <summary>
-            Gets or sets the number of source files.
-            </summary>
-            <value>The number of source files.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.SourceFiles">
-            <summary>
-            Gets the source files. Populated when <see cref="P:MSBuild.Community.Tasks.SourceServer.SrcTool.SourceOnly"/> is <c>true</c>.
-            </summary>
-            <value>The source files.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.ExtractedFiles">
-            <summary>
-            Gets the extracted files. Populated when <see cref="P:MSBuild.Community.Tasks.SourceServer.SrcTool.Extract"/> is <c>true</c>.
-            </summary>
-            <value>The extracted files.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <value></value>
-            <returns>
-            The name of the executable file to run.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.StandardOutputLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
-            </summary>
-            <value></value>
-            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.SourceServer.SvnSourceIndex">
-            <summary>
-            A subversion source index task.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.SvnSourceIndex.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.SourceServer.SvnSourceIndex"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.SvnSourceIndex.AddSourceProperties(MSBuild.Community.Tasks.SourceServer.SymbolFile)">
-            <summary>
-            Adds the source properties to the symbol file.
-            </summary>
-            <param name="symbolFile">The symbol file to add the source properties to.</param>
-            <returns>
-            	<c>true</c> if successful; otherwise <c>false</c>.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.SvnSourceIndex.CreateSourceIndexFile(MSBuild.Community.Tasks.SourceServer.SymbolFile,System.String)">
-            <summary>
-            Creates the source index file.
-            </summary>
-            <param name="symbolFile">The symbol file to create the index file from.</param>
-            <param name="sourceIndexFile">The source index file.</param>
-            <returns>
-            	<c>true</c> if successful; otherwise <c>false</c>.
-            </returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.SourceServer.SymbolFile">
-            <summary>
-            A class representing a symbol file.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.SymbolFile.#ctor(System.String)">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.SourceServer.SymbolFile"/> class.
-            </summary>
-            <param name="fileName">Name of the file.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.SymbolFile.#ctor(System.IO.FileInfo)">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.SourceServer.SymbolFile"/> class.
-            </summary>
-            <param name="fileInfo">The file info.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SourceServer.SymbolFile.AddSourceFiles(System.Collections.Generic.IEnumerable{System.String})">
-            <summary>
-            Adds the source files.
-            </summary>
-            <param name="files">The files.</param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.SymbolFile.SourceFiles">
-            <summary>
-            Gets the source files.
-            </summary>
-            <value>The source files.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SourceServer.SymbolFile.IsIndexed">
-            <summary>
-            Gets or sets a value indicating whether this instance is indexed.
-            </summary>
-            <value>
-            	<c>true</c> if this instance is indexed; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.SqlServer.SqlPubCommands">
-            <summary>
-            The SqlPubWiz commands
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.SqlServer.SqlPubCommands.Script">
-            <summary>
-            Scripts a local database to one or more files
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.SqlServer.SqlPubCommands.Publish">
-            <summary>
-            Publishes a local database to a web service provided by a hoster.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.SqlServer.SqlPubWiz">
-            <summary>
-            The Database Publishing Wizard enables the deployment of
-            SQL Server databases (both schema and data) into a shared
-            hosting environment.
-            </summary>
-            <example>Generate the database script for Northwind on localhost.
-            <code><![CDATA[
-            <SqlPubWiz 
-                Database="Northwind" 
-                Output="Northwind.sql" 
-                SchemaOnly="true" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.GenerateFullPathToTool">
-            <summary>
-            Returns the fully qualified path to the executable file.
-            </summary>
-            <returns>
-            The fully qualified path to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.LogToolCommand(System.String)">
-            <summary>
-            Logs the starting point of the run to all registered loggers.
-            </summary>
-            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Command">
-            <summary>
-            Gets or sets the database publishing command.
-            </summary>
-            <value>The database publishing command.</value>
-            <remarks>
-            Use either script or publish. Use script to script a local
-            database to a file on the local computer. Use publish to 
-            transfer database objects directly to a hosted database via
-            a web service. script and publish enable some of the same 
-            options and switches. Some options and switches are only 
-            enabled only by one of these verbs.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.ConnectionString">
-            <summary>
-            Gets or sets the full connection string to the local database.
-            </summary>
-            <value>The connection string.</value>
-            <remarks>
-            Provides a full connection string to connect to the local 
-            database. This connection string encapsulates all connection 
-            options to the server. Incompatible with <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Username"/>, 
-            <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Password"/> or, <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Server"/>.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Database">
-            <summary>
-            Gets or sets the name of the local database to be scripted.
-            </summary>
-            <value>The name of the database to be scripted.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Username">
-            <summary>
-            Gets or sets the SQL Server user name to use for connection
-            to the source database. 
-            </summary>
-            <value>The SQL Server user name.</value>
-            <remarks>
-            Specifies the SQL Server User name to use for connection
-            to the source database. Requires <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Password"/>.
-            Incompatible with <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.ConnectionString"/>.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Password">
-            <summary>
-            Gets or sets the password to use for connection
-            to the source database.
-            </summary>
-            <value>The password.</value>
-            <remarks>
-            Specifies the password to use for connection to the source
-            database. Requires <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Username"/>. 
-            Incompatible with <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.ConnectionString"/>.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Server">
-            <summary>
-            Gets or sets the name or IP address for the local database connection.
-            </summary>
-            <value>The name or IP address of server.</value>
-            <remarks>
-            Specifies the name or IP address for the local database connection.
-            The default is localhost. Incompatible with <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.ConnectionString"/>.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Output">
-            <summary>
-            Gets or sets the full file path for the script file generated.
-            </summary>
-            <value>The full file path.</value>
-            <remarks>
-            Use only with script. Specifies the full file path for the script
-            file generated by the sqlpubwiz. 
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.SchemaOnly">
-            <summary>
-            Gets or sets a value indicating whether the schema, 
-            but not the data, should be scripted.
-            </summary>
-            <value>
-            <c>true</c> if only the schema should be scripted; 
-            otherwise, <c>false</c>.
-            </value>
-            <remarks>
-            Specifies that the schema, but not the data, should be
-            scripted. Incompatible with <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.DataOnly"/>.
-            If neither <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.SchemaOnly"/> nor <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.DataOnly"/>
-            are specified, both the schema and data are scripted.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.DataOnly">
-            <summary>
-            Gets or sets a value indicating whether the data but 
-            not the schema should be scripted.
-            </summary>
-            <value>
-            <c>true</c> if only the data is scripted; 
-            otherwise, <c>false</c>.
-            </value>
-            <remarks>
-            Specifies that the data but not the schema should be 
-            scripted. Incompatible with <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.NoDropExisting"/> 
-            or <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.SchemaOnly"/>. If neither <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.SchemaOnly"/>
-            nor <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.DataOnly"/> are specified, both the schema
-            and data are scripted.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.TargetServer">
-            <summary>
-            Gets or sets the target server the script should target.
-            </summary>
-            <value>The target server the script should target.</value>
-            <remarks>
-            Specifies that the script to be generated should target
-            a SQL Server 2000 or SQL Server 2005 instance. 
-            The default is SQL Server 2005.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.NoSchemaQualify">
-            <summary>
-            Gets or sets a value indicating whether objects will
-            not be qualified with a schema.
-            </summary>
-            <value>
-            <c>true</c> if objects will not be schema qualified;
-            otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.NoDropExisting">
-            <summary>
-            Gets or sets a value indicating whether the produced 
-            script should not drop pre-existing objects.
-            </summary>
-            <value>
-            <c>true</c> if pre-existing objects should not be dropped;
-            otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Quiet">
-            <summary>
-            Gets or sets a value indicating output message suppression.
-            </summary>
-            <value><c>true</c> to suppress messages; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.HosterName">
-            <summary>
-            Gets or sets the friendly name of previously
-            configured hosting Web service.
-            </summary>
-            <value>The name of the hoster.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.WebServiceAddress">
-            <summary>
-            Gets or sets the configuration of the hosting Web service endpoint.
-            </summary>
-            <value>The web service address.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.ServiceUsername">
-            <summary>
-            Gets or sets the username on the hosting Web service endpoint.
-            </summary>
-            <value>The service username.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.ServicePassword">
-            <summary>
-            Gets or sets the password for the remote Web service endpoint.
-            </summary>
-            <value>The service password.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.ServiceDatabaseServer">
-            <summary>
-            Gets or sets the database name to publish to on the remote server.
-            </summary>
-            <value>The service database server.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.ServiceDatabase">
-            <summary>
-            Gets or sets the remote database server name.
-            </summary>
-            <value>The service database.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.NoTransaction">
-            <summary>
-            Gets or sets a value indicating whether the publish operation
-            should not be executed within a single transaction.
-            </summary>
-            <value><c>true</c> to not publish in a single transaction; otherwise, <c>false</c>.</value>
-            <remarks>
-            Specifies that the publish operation should not be executed
-            within a single transaction.  This reduces logging overhead
-            on the target server, but if the publish is interrupted, the
-            target database may be left in a partially populated state.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <value></value>
-            <returns>The name of the executable file to run.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.StandardOutputLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
-            </summary>
-            <value></value>
-            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Subversion.SvnCopy">
-            <summary>
-            Copy a file or folder in Subversion
-            </summary>
-            <remarks>
-            This is most useful for automatically tagging your source code during a build. 
-            You can create a tag by copying a path from one server location to another.
-            </remarks>
-            <example>Create a tag of the trunk with the current Cruise Control build number:
-            <code><![CDATA[
-            <Target Name="TagTheBuild">
-              <SvnCopy SourcePath="file:///d:/svn/repo/Test/trunk"
-                       DestinationPath="file:///d:/svn/repo/Test/tags/BUILD-$(CCNetLabel)" 
-                       Message="Automatic build of $(CCNetProject)" />      
-            </Target>
-            ]]></code>
-            </example>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Subversion.SvnClient">
-            <summary>
-            Subversion client base class
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnClient.GenerateSvnCommand">
-            <summary>
-            Generates the SVN command.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnClient.GenerateSvnArguments">
-            <summary>
-            Generates the SVN arguments.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnClient.Execute">
-            <summary>
-            Runs the exectuable file with the specified task parameters.
-            </summary>
-            <returns>
-            true if the task runs successfully; otherwise, false.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnClient.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnClient.ValidateParameters">
-            <summary>
-            Indicates whether all task paratmeters are valid.
-            </summary>
-            <returns>
-            true if all task parameters are valid; otherwise, false.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnClient.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
-            <summary>
-            Logs the events from text output.
-            </summary>
-            <param name="singleLine">The single line.</param>
-            <param name="messageImportance">The message importance.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnClient.GenerateFullPathToTool">
-            <summary>
-            Returns the fully qualified path to the executable file.
-            </summary>
-            <returns>
-            The fully qualified path to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnClient.FindToolPath(System.String)">
-            <summary>
-            Finds the tool path.
-            </summary>
-            <param name="toolName">Name of the tool.</param>
-            <returns></returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnClient.LogToolCommand(System.String)">
-            <summary>
-            Logs the starting point of the run to all registered loggers.
-            </summary>
-            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.Command">
-            <summary>
-            Gets or sets the command.
-            </summary>
-            <value>The command.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.Arguments">
-            <summary>
-            Gets or sets the arguments.
-            </summary>
-            <value>The arguments.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.Username">
-            <summary>
-            Gets or sets the username.
-            </summary>
-            <value>The username.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.Password">
-            <summary>
-            Gets or sets the password.
-            </summary>
-            <value>The password.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.SanitizePassword">
-            <summary>
-            Allows to sanitize password string from svn command log output.
-            </summary>
-            <value>The sanitize.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.Verbose">
-            <summary>
-            Gets or sets the verbose.
-            </summary>
-            <value>The verbose.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.Force">
-            <summary>
-            Gets or sets the force.
-            </summary>
-            <value>The force.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.Message">
-            <summary>
-            Gets or sets the message.
-            </summary>
-            <value>The message.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.MessageFile">
-            <summary>
-            Gets or sets the message file.
-            </summary>
-            <value>The message file.</value>
-            <remarks>
-            Uses the contents of the named file for the specified 
-            subcommand, though different subcommands do different 
-            things with this content.</remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.RepositoryPath">
-            <summary>
-            Gets or sets the repository path.
-            </summary>
-            <value>The repository path.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.LocalPath">
-            <summary>
-            Gets or sets the local path.
-            </summary>
-            <value>The local path.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.TargetFile">
-            <summary>
-            Gets or sets the target file.
-            </summary>
-            <value>The target file.</value>
-            <remarks>
-            Tells Subversion to get the list of files that you wish to operate on from
-            the filename that you provide instead of listing all the files on the command line.
-             </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.Targets">
-            <summary>
-            Gets or sets the targets.
-            </summary>
-            <value>The targets.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.NonInteractive">
-            <summary>
-            Gets or sets a value indicating the command is non interactive].
-            </summary>
-            <value><c>true</c> if non interactive; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.NoAuthCache">
-            <summary>
-            Gets or sets a value indicating no auth cache.
-            </summary>
-            <value><c>true</c> if no auth cache; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.TrustServerCert">
-            <summary>
-            Gets or sets a value indicating whether to trust the server cert.
-            </summary>
-            <value><c>true</c> to trust the server cert; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.Xml">
-            <summary>
-            Gets or sets a value indicating the output is XML.
-            </summary>
-            <value><c>true</c> to output in XML; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.Revision">
-            <summary>
-            Gets or sets the revision.
-            </summary>
-            <value>The revision.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.StandardOutput">
-            <summary>
-            Gets the output of SVN command-line client.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.StandardError">
-            <summary>
-            Gets the error output of SVN command-line client.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.StandardOutputLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
-            </summary>
-            <value></value>
-            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.StandardErrorLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
-            </summary>
-            <value></value>
-            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <value></value>
-            <returns>The name of the executable file to run.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnCopy.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Subversion.SvnCopy"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnCopy.GenerateSvnCommand">
-            <summary>
-            Generates the SVN command.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnCopy.ValidateParameters">
-            <summary>
-            Indicates whether all task paratmeters are valid.
-            </summary>
-            <returns>
-            true if all task parameters are valid; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnCopy.SourcePath">
-            <summary>
-            The path of the source file or folder that should be copied
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnCopy.DestinationPath">
-            <summary>
-            The path to which the SourcePath should be copied
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnCopy.BuildTree">
-            <summary>
-            Specifies whether to create any missing directories and subdirectories 
-            in the specified <see cref="P:MSBuild.Community.Tasks.Subversion.SvnCopy.DestinationPath"/>
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Subversion.Info">
-            <remarks/>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.Info.#ctor">
-            <remarks/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.Info.Entries">
-            <remarks/>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Subversion.Entry">
-            <remarks/>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.Entry.#ctor">
-            <remarks/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.Entry.Url">
-            <remarks/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.Entry.Repository">
-            <remarks/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.Entry.WorkingCopy">
-            <remarks/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.Entry.Commit">
-            <remarks/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.Entry.Kind">
-            <remarks/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.Entry.Path">
-            <remarks/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.Entry.Revision">
-            <remarks/>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Subversion.EntryCollection">
-            <remarks/>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.EntryCollection.#ctor">
-            <remarks/>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.EntryCollection.GetKeyForItem(MSBuild.Community.Tasks.Subversion.Entry)">
-            <remarks/>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Subversion.Repository">
-            <remarks/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.Repository.Root">
-            <remarks/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.Repository.Uuid">
-            <remarks/>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Subversion.WorkingCopy">
-            <remarks/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.WorkingCopy.Schedule">
-            <remarks/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.WorkingCopy.Depth">
-            <remarks/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.WorkingCopy.TextUpdated">
-            <remarks/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.WorkingCopy.TextUpdatedSpecified">
-            <remarks/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.WorkingCopy.Checksum">
-            <remarks/>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Subversion.LastCommit">
-            <remarks/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.LastCommit.Author">
-            <remarks/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.LastCommit.Date">
-            <remarks/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.LastCommit.DateSpecified">
-            <remarks/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.LastCommit.Revision">
-            <remarks/>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Subversion.SvnStatus">
-            <summary>
-             Subversion status command.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnStatus.#ctor">
-            <summary>
-             Creates an instance of SvnStatus.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnStatus.Execute">
-            <summary>
-            Runs the exectuable file with the specified task parameters.
-            </summary>
-            <returns>
-            true if the task runs successfully; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnStatus.Entries">
-            <summary>
-            Gets or sets the entries.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.SymbolServer.SymStoreCommands">
-            <summary>
-            Commands for the SymStore tasks.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.SymbolServer.SymStoreCommands.add">
-            <summary>
-            Add to the symbol server store.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.SymbolServer.SymStoreCommands.query">
-            <summary>
-            Query the symbol server store.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.SymbolServer.SymStoreCommands.delete">
-            <summary>
-            Delete from the symbol serer store.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.SymbolServer.SymStore">
-            <summary>
-            Task that wraps the Symbol Server SymStore.exe application.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SymbolServer.SymStore.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.SymbolServer.SymStore"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SymbolServer.SymStore.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SymbolServer.SymStore.GenerateFullPathToTool">
-            <summary>
-            Returns the fully qualified path to the executable file.
-            </summary>
-            <returns>
-            The fully qualified path to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SymbolServer.SymStore.LogToolCommand(System.String)">
-            <summary>
-            Logs the starting point of the run to all registered loggers.
-            </summary>
-            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Command">
-            <summary>
-            Gets or sets the command.
-            </summary>
-            <value>The command.</value>
-            <enum cref="T:MSBuild.Community.Tasks.SymbolServer.SymStoreCommands"/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Append">
-            <summary>
-            Gets or sets a value indicating SymStore will append new indexing information to an existing index file.
-            </summary>
-            <value><c>true</c> if append; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Comment">
-            <summary>
-            Gets or sets the comment for the transaction.
-            </summary>
-            <value>The comment for the transaction.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Compress">
-            <summary>
-            Gets or sets a value indicating SymStore will create a compressed version of each file copied to the symbol store instead of using an uncompressed copy of the file.
-            </summary>
-            <value><c>true</c> if compress; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.LogFile">
-            <summary>
-            Gets or sets a log file to be used for command output. If this is not included, transaction information and other output is sent to stdout.
-            </summary>
-            <value>The log file to be used for command output.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Files">
-            <summary>
-            Gets or sets the network path of files or directories to add.
-            </summary>
-            <value>The network path of files or directories to add.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Share">
-            <summary>
-            Gets or sets the server and share where the symbol files were originally stored.
-            </summary>
-            <value>The server and share where the symbol files were originally stored.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.ID">
-            <summary>
-            Gets or sets the transaction ID string.
-            </summary>
-            <value>The transaction ID string.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Local">
-            <summary>
-            Gets or sets a value indicating whether the file will be in a local directory rather than a network path.
-            </summary>
-            <value><c>true</c> if local; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Verbose">
-            <summary>
-            Gets or sets a value indicating whether SymStore will display verbose output.
-            </summary>
-            <value><c>true</c> if verbose; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Pointer">
-            <summary>
-            Gets or sets a value indicating whether SymStore will store a pointer to the file, rather than the file itself.
-            </summary>
-            <value><c>true</c> if pointer; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Recursive">
-            <summary>
-            Gets or sets a value indicating whether SymStore will add files or directories recursively.
-            </summary>
-            <value><c>true</c> if recursive; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Store">
-            <summary>
-            Gets or sets the root directory for the symbol store.
-            </summary>
-            <value>The root directory for the symbol store.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Product">
-            <summary>
-            Gets or sets the name of the product.
-            </summary>
-            <value>The name of the product.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Version">
-            <summary>
-            Gets or sets the version of the product.
-            </summary>
-            <value>The version of the product.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Message">
-            <summary>
-            Gets or sets the message to be added to each file.
-            </summary>
-            <value>The message to be added to each file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Relative">
-            <summary>
-            Gets or sets a value indicating whether the paths in the file pointers will be relative.
-            </summary>
-            <value><c>true</c> if relative; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.NoReference">
-            <summary>
-            Gets or sets a value indicating whether to omit the creation of reference pointer files for the files and pointers being stored.
-            </summary>
-            <value><c>true</c> to omit the creation of reference pointer; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.WriteIndex">
-            <summary>
-            Gets or sets the index file. Causes SymStore not to store the actual symbol files. Instead, SymStore records information in the IndexFile that will enable SymStore to access the symbol files at a later time.
-            </summary>
-            <value>The write index file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.ReadIndex">
-            <summary>
-            Gets or sets the index file. Causes SymStore to read the data from a file created with WriteIndexFile.
-            </summary>
-            <value>The read index file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <value></value>
-            <returns>
-            The name of the executable file to run.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.StandardOutputLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
-            </summary>
-            <value></value>
-            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Tfs.TfsClient">
-            <summary>
-            A task for Team Foundation Server version control.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Tfs.TfsClient.GenerateCommand(Microsoft.Build.Utilities.CommandLineBuilder)">
-            <summary>
-            Generates the command.
-            </summary>
-            <param name="builder">The <see cref="T:Microsoft.Build.Utilities.CommandLineBuilder"/>.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Tfs.TfsClient.GenerateArguments(Microsoft.Build.Utilities.CommandLineBuilder)">
-            <summary>
-            Generates the arguments.
-            </summary>
-            <param name="builder">The <see cref="T:Microsoft.Build.Utilities.CommandLineBuilder"/>.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Tfs.TfsClient.GenerateFullPathToTool">
-            <summary>
-            Returns the fully qualified path to the executable file.
-            </summary>
-            <returns>
-            The fully qualified path to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Tfs.TfsClient.LogToolCommand(System.String)">
-            <summary>
-            Logs the starting point of the run to all registered loggers.
-            </summary>
-            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Tfs.TfsClient.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Tfs.TfsClient.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
-            <summary>
-            Parses a single line of text to identify any errors or warnings in canonical format.
-            </summary>
-            <param name="singleLine">A single line of text for the method to parse.</param>
-            <param name="messageImportance">A value of <see cref="T:Microsoft.Build.Framework.MessageImportance"/> that indicates the importance level with which to log the message.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Tfs.TfsClient.ValidateParameters">
-            <summary>
-            Indicates whether all task paratmeters are valid.
-            </summary>
-            <returns>
-            true if all task parameters are valid; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Command">
-            <summary>
-            Gets or sets the Team Foundation Server command.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Files">
-            <summary>
-            Gets or sets the files.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Recursive">
-            <summary>
-            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is recursive.
-            </summary>
-            <value>
-              <c>true</c> if recursive; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.All">
-            <summary>
-            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is all.
-            </summary>
-            <value>
-              <c>true</c> if all; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Overwrite">
-            <summary>
-            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is overwrite.
-            </summary>
-            <value>
-              <c>true</c> if overwrite; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Override">
-            <summary>
-            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is override.
-            </summary>
-            <value>
-              <c>true</c> if override; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Force">
-            <summary>
-            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is force.
-            </summary>
-            <value>
-              <c>true</c> if force; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Preview">
-            <summary>
-            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is preview.
-            </summary>
-            <value>
-              <c>true</c> if preview; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Remap">
-            <summary>
-            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is remap.
-            </summary>
-            <value>
-              <c>true</c> if remap; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Silent">
-            <summary>
-            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is silent.
-            </summary>
-            <value>
-              <c>true</c> if silent; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Saved">
-            <summary>
-            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is saved.
-            </summary>
-            <value>
-              <c>true</c> if saved; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Validate">
-            <summary>
-            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is validate.
-            </summary>
-            <value>
-              <c>true</c> if validate; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Bypass">
-            <summary>
-            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is bypass.
-            </summary>
-            <value>
-              <c>true</c> if bypass; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Comment">
-            <summary>
-            Gets or sets the comment.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Version">
-            <summary>
-            Gets or sets the version.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Lock">
-            <summary>
-            Gets or sets the lock.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Type">
-            <summary>
-            Gets or sets the type.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Author">
-            <summary>
-            Gets or sets the author.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Notes">
-            <summary>
-            Gets or sets the notes.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Format">
-            <summary>
-            Gets or sets the format.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Collection">
-            <summary>
-            Gets or sets the collection.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.UserName">
-            <summary>
-            Gets or sets the name of the user.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Password">
-            <summary>
-            Gets or sets the password.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.WorkspaceName">
-            <summary>
-            Gets or sets the name of the workspace.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.WorkspaceOwner">
-            <summary>
-            Gets or sets the workspace owner.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.ShelveSetName">
-            <summary>
-            Gets or sets the name of the shelve set.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.ShelveSetOwner">
-            <summary>
-            Gets or sets the shelve set owner.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Changeset">
-            <summary>
-            Gets or sets the changeset.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.ServerPath">
-            <summary>
-            Gets or sets the server path.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.StandardOutputLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
-            </summary>
-            <value></value>
-            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.StandardErrorLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
-            </summary>
-            <value></value>
-            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <returns>
-            The name of the executable file to run.
-            </returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Services.IRegistry">
-            <summary>
-            The contract for a service that will provide access to the registry.
-            </summary>
-            <exclude />
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Services.IRegistry.GetSubKeys(Microsoft.Win32.RegistryHive,System.String)">
-            <summary>
-            Returns the names of the subkeys under the provided key.
-            </summary>
-            <param name="hive">The hive where <paramref name="key"/> is located.</param>
-            <param name="key">The key to search.</param>
-            <returns>A list of subkeys.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Services.IRegistry.GetValue(System.String,System.String)">
-            <summary>
-            Returns the value of an entry in the registry.
-            </summary>
-            <param name="key">The key of the registry entry that contains <paramref name="valueName"/></param>
-            <param name="valueName">The name of the value to return.</param>
-            <returns>The value of the registry entry.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Services.Win32Registry">
-            <summary>
-            Provides access to the Windows registry.
-            </summary>
-            <exclude />
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Services.Win32Registry.GetSubKeys(Microsoft.Win32.RegistryHive,System.String)">
-            <summary>
-            Returns the names of the subkeys under the provided key.
-            </summary>
-            <param name="hive">The hive where <paramref name="key"/> is located.</param>
-            <param name="key">The key to search.</param>
-            <returns>A list of subkeys.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Services.Win32Registry.GetValue(System.String,System.String)">
-            <summary>
-            Returns the value of an entry in the registry.
-            </summary>
-            <param name="key">The key of the registry entry that contains <paramref name="valueName"/></param>
-            <param name="valueName">The name of the value to return.</param>
-            <returns>The value of the registry entry.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.User">
-            <summary>
-            Provides information about the build user.
-            </summary>
-            <example>Get build user information.
-            <code><![CDATA[
-            <User>
-              <Output TaskParameter="UserNameWithDomain" PropertyName="BuildUserID" />
-              <Output TaskParameter="FullName" PropertyName="BuildUserName" />
-              <Output TaskParameter="Email" PropertyName="BuildUserEmail" />
-              <Output TaskParameter="Phone" PropertyName="BuildUserPhone" />
-            </User>    
-            ]]></code>
-            </example>
-            <remarks>
-            The following output parameters are set only if information about the build user can be retrieved
-            from the Active Directory if one exists:
-            <list type="bullet">
-              <item><c>FirstName</c></item>
-              <item><c>LastName</c></item>
-              <item><c>MiddleInitial</c></item>
-              <item><c>FullName</c></item>
-              <item><c>Email</c></item>
-              <item><c>Phone</c></item>
-            </list>
-            </remarks>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.User.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:User"/> class.
-            </summary>  
-        </member>
-        <member name="M:MSBuild.Community.Tasks.User.Execute">
-            <summary>
-            Executes the task.
-            </summary>
-            <returns>
-            <see langword="true"/> if the task ran successfully; otherwise <see langword="false"/>.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.User.UserName">
-            <summary>
-            Gets the user name of the build user.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.User.DomainName">
-            <summary>
-            Gets the domain name of the build user.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.User.FirstName">
-            <summary>
-            Gets the first name of the build user.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.User.LastName">
-            <summary>
-            Gets the last name of the build user.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.User.MiddleInitial">
-            <summary>
-            Gets the middle initial of the build user.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.User.Email">
-            <summary>
-            Gets the email address of the build user.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.User.Phone">
-            <summary>
-            Gets the phone number of the build user.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.User.UserNameWithDomain">
-            <summary>
-            Gets the username and domain name of the build user in "[Domain name]\[User name]" format.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.User.FullName">
-            <summary>
-            Gets the full name of the build user in "[First name] [Middle initial]. [Last name]" format .
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Xml.XmlMassUpdate">
-            <summary>
-            Performs multiple updates on an XML file
-            </summary>
-            <remarks>
-      XmlMassUpdate allows to to specify multiple changes to make to an XML file (the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.ContentFile"/>. By default, the changes are applied to the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.ContentFile"/>, but you can create a new file by providing the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.MergedFile"/> attribute.  The change instructions are specified using XML in the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsFile"/>. If the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsFile"/> does not mirror the structure of the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.ContentFile"/> exactly, you can specify the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.ContentRoot"/> and <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsRoot"/> XPath expressions which determine how the files should be mapped to each other.
-      <para>
-        Any element within the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsRoot"/> will find the corresponding element in the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.ContentRoot"/>. If it does not exist, it will be created with all of its attributes. If it does exist, the attributes will be added or updated as specified.
-      </para>
-      <para>
-        Any attribute declared within the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.UpdateControlNamespace"/> will not be copied to the modified file. Valid attributes are <c>key</c> and <c>action</c>. The <c>key</c> attribute allows you to define an attribute to use as the identifying attribute when you only want to update a single element, and multiple elements with the same name exist. You can also use the <c>action="remove"</c> attribute to specify that an element should be deleted instead of updated.
-      </para>
-    </remarks><example>
-      <para>
-        These examples will demonstrate how to make multiple updates to a XML file named web.config. It looks like:
-        <code>
-          <![CDATA[<?xml version="1.0" encoding="utf-8" ?>
-<configuration>
-  <appSettings>
-    <add key="ItemsPerPage" value="10" />
-    <add key="EnableCaching" value="true" />
-    <add key="DefaultServer" value="TIGRIS" />
-  </appSettings>
-    <system.web>
-        <compilation defaultLanguage="c#" debug="true" />
-        <customErrors mode="Off" />
-        <trace enabled="true" requestLimit="10" pageOutput="true" />
-        <globalization requestEncoding="utf-8" responseEncoding="utf-8" />
-    </system.web>
-</configuration> ]]>
-        </code>
-      </para>
-    </example><example>
-      You can update the file using instructions from an external file (specified as the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsFile"/>):
-      <code>
-        <![CDATA[<XmlMassUpdate ContentFile="web.config" SubstitutionsFile="changes.xml" ContentRoot="/configuration/system.web" SubstitutionsRoot="/system.web" /> ]]>
-      </code>
-      The <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsFile"/> is named changes.xml and contains:
-      <code>
-        <![CDATA[<system.web>
-        <compilation debug="false" />
-        <customErrors mode="RemoteOnly" defaultRedirect="Error.htm">
-          <error statusCode="401" redirect="AccessDenied.aspx" />
-        </customErrors>
-        <trace enabled="false" />
-      </system.web> ]]>
-      </code>
-    </example><example>
-      You can also provide the update instructions within the MSBuild project file itself. It takes advantage of the MSBuild ProjectExtensions element which allows you to add XML to a project file that will be ignored by the MSBuild engine. This example also demonstrates how to use <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.NamespaceDefinitions"/>:
-      <code>
-        <![CDATA[<ProjectExtensions>
-  <system.web>
-    <compilation debug="false" />
-    <trace enabled="false" />
-  </system.web>
-</ProjectExtensions>
-<Target Name="SubstituteFromProj">
-  <XmlMassUpdate ContentFile="web.config" ContentRoot="/configuration/system.web"
-    NamespaceDefinitions="msb=http://schemas.microsoft.com/developer/msbuild/2003"
-    SubstitutionsFile="$(MSBuildProjectFullPath)"
-    SubstitutionsRoot="/msb:Project/msb:ProjectExtensions/msb:system.web" />
-</Target> ]]>
-      </code>
-    </example><example>
-      The following example demonstrates how to deal with "keyed" elements. When you need to update an element, and multiple elements exist with the same name, it must be be differentied by one of its attributes. You designate the differentiating attribute using the "key" attribute declared in the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.UpdateControlNamespace"/>.
-      If an element matching the keyed attribute is not found, a new element will be created (DefaultSort in the example). This example also demonstrates creating a new file with the merged changes instead of modifying the original file.
-      <code>
-        <![CDATA[ <XmlMassUpdate ContentFile="web.config" SubstitutionsFile="changes.xml" MergedFile="web.config.keyed.xml"  /> ]]>
-      </code>
-      Using a changes.xml file with the following contents:
-      <code>
-        <![CDATA[<configuration xmlns:xmu="urn:msbuildcommunitytasks-xmlmassupdate">
-  <appSettings>
-        <add xmu:key="key" key="EnableCaching" value="false" />
-        <add xmu:key="key" key="DefaultSort" value="LastName" />
-  </appSettings>
-</configuration> ]]>
-      </code>
-    </example><example>
-      Use a changes.xml file with the following contents to demonstrate how to remove an element from the updated file:
-      <code>
-        <![CDATA[<configuration xmlns:xmu="urn:msbuildcommunitytasks-xmlmassupdate">
-  <appSettings>
-        <add xmu:key="key" key="ItemsPerPage" xmu:action="remove" />
-        <trace xmu:action="remove" />
-  </appSettings>
-</configuration> ]]>
-      </code>
-    </example><example>
-      You can also specify the changes to apply from within the target document. By making use of the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsRoot"/> property, you can store multiple sets of changes to apply based on runtime conditions.
-      Consider the following source web.config file:
-      <code>
-        <![CDATA[<?xml version="1.0" encoding="utf-8" ?>
-<configuration>
-    <system.web>
-        <compilation defaultLanguage="c#" debug="true" />
-        <customErrors mode="Off" />
-        <trace enabled="true" requestLimit="10" pageOutput="true" />
-        <globalization requestEncoding="utf-8" responseEncoding="utf-8" />
-    </system.web>
-    <substitutions>
-      <test>
-        <system.web>
-          <compilation debug="false" />
-          <trace enabled="true" />
-        </system.web>
-      </test>
-      <prod>
-        <system.web>
-          <compilation debug="false" />
-          <trace enabled="false" />
-        </system.web>
-      </prod>
-    </substitutions>
-</configuration> ]]>
-      </code>
-      You could use the following task definition, which relies on a property "TargetEnvironment" to determine which set of changes to apply:
-      <code>
-        <![CDATA[ <XmlMassUpdate ContentFile="web.config" ContentRoot="/configuration" SubstitutionsRoot="/configuration/substitutions/$(TargetEnvironment)" /> ]]>
-      </code>
-      You will need to provide a value of "test" or "prod" to the TargetEnvironment property. The property can be defined in a PropertyGroup section of the MSBuild file, or passed as a command-line parameter.
-      <code>
-        <![CDATA[ msbuild build.proj /p:TargetEnvironment=prod ]]>
-      </code>
-
-    </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Xml.XmlMassUpdate.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            True if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Xml.XmlMassUpdate.LoadSubstitutionsDocument">
-            <summary>
-            Returns <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsFile"/> as an <see cref="T:System.Xml.XmlDocument"/>.
-            </summary>
-            <remarks>This method is not intended for use by consumers. It is exposed for testing purposes.</remarks>
-            <returns></returns>
-            <exclude/>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Xml.XmlMassUpdate.LoadContentDocument">
-            <summary>
-            Returns <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.ContentFile"/> as an <see cref="T:System.Xml.XmlDocument"/>.
-            </summary>
-            <remarks>This method is not intended for use by consumers. It is exposed for testing purposes.</remarks>
-            <returns></returns>
-            <exclude/>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SaveMergedDocument(System.Xml.XmlDocument)">
-            <summary>
-            Creates <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.MergedFile"/> from the specified <see cref="T:System.Xml.XmlDocument"/>
-            </summary>
-            <param name="mergedDocument">The XML to save to a file</param>
-            <remarks>This method is not intended for use by consumers. It is exposed for testing purposes.</remarks>
-            <returns></returns>
-            <exclude/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.ContentFile">
-            <summary>
-            The original file whose content is to be updated
-            </summary>
-            <remarks>This task is currently under construction and not necessarily feature complete.</remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsFile">
-            <summary>
-            The file containing the list of updates to perform
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.MergedFile">
-            <summary>
-            The file created after performing the updates
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsRoot">
-            <summary>
-            The XPath expression used to locate the list of substitutions to perform
-            </summary>
-            <remarks>When not specified, the default is the document root: <c>/</c>
-            <para>When there is a set of elements with the same name, and you want to update
-            a single element which can be identified by one of its attributes, you need to include an attribute
-            named 'key' in the namespace <c>urn:msbuildcommunitytasks-xmlmassupdate</c>. The value of the
-            attribute is the name of the attribute that should be used as the unique identifier.</para></remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.ContentRoot">
-            <summary>
-            The XPath expression identifying root node that substitions are relative to
-            </summary>
-            <remarks>When not specified, the default is the document root: <c>/</c></remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.NamespaceDefinitions">
-            <summary>
-            A collection of prefix=namespace definitions used to query the XML documents
-            </summary>
-            <example>
-      Defining multiple namespaces:
-      <code>
-        <![CDATA[
-<XmlMassUpdate ContentFile="web.config"
-  SubstitutionsRoot="/configuration/substitutions"
-  NamespaceDefinitions = "soap=http://www.w3.org/2001/12/soap-envelope;x=http://www.w3.org/1999/XSL/Transform">
-/>]]>
-      </code>
-    </example>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.IgnoreMissingSubstitutionsRoot">
-            <summary>
-            If set to true, the task won't fail if the substitution root is missing
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.ContentPathUsedByTask">
-            <summary>
-            The full path of the file containing content updated by the task
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsPathUsedByTask">
-            <summary>
-            The full path of the file containing substitutions used by the task
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.MergedPathUsedByTask">
-            <summary>
-            The full path of the file containing the results of the task
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.UpdateControlNamespace">
-            <summary>
-            The namespace used for XmlMassUpdate pre-defined attributes
-            </summary>
-            <remarks>Evaluates to: <c>urn:msbuildcommunitytasks-xmlmassupdate</c>
-            <para>Attributes decorated with this namespace are used to control how a substitutions element
-            or attribute is handled during the update. For example, the key attribute is used to identify the
-            attribute on an element that uniquely identifies the element in a set.</para></remarks>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap">
-            <summary>
-            Sets an application mapping for a filename extension on an existing web directory.
-            </summary>
-            <example>Map the .axd extension to the lastest version of ASP.NET:
-            <code><![CDATA[
-            <WebDirectoryScriptMap VirtualDirectoryName="MyWeb" Extension=".axd" MapToAspNet="True" VerifyFileExists="False" />
-            ]]></code>
-            </example>
-            <example>Map GET requests to the .rss extension to a specific executable:
-            <code><![CDATA[
-            <WebDirectoryScriptMap VirtualDirectoryName="MyWeb" Extension=".rss" Verbs="GET" ExecutablePath="$(WINDIR)\Microsoft.Net\Framework\1.0.3705\aspnet_isapi.dll" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.IIS.WebBase">
-            <summary>
-            Base task for any IIS-related task.
-            </summary>
-            <remarks>Stores the base logic for gathering the IIS version and server and port checking.  This
-            base task also stores common properties for other related tasks.</remarks>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.mIISVersion">
-            <summary>
-            IIS version.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.IIS.WebBase.GetIISVersion">
-            <summary>
-            Gets the IIS version.
-            </summary>
-            <returns>The <see cref="T:MSBuild.Community.Tasks.IIS.WebBase.IISVersion"/> for IIS.</returns>
-            <exclude/>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.IIS.WebBase.GetRemoteOSVersion">
-            <summary>
-            Gets the remote machine OS version.
-            </summary>
-            <returns>Returns a <see cref="T:System.Version"/> of the operating system.</returns>
-            <exclude/>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.IIS.WebBase.VerifyIISRoot">
-            <summary>
-            Verifies that the IIS root exists based on the <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.ServerName"/> and <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.ServerPort"/>.
-            </summary>
-            <exclude/>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.IIS.WebBase.VerifySiteHostHeaderExists(System.DirectoryServices.DirectoryEntry)">
-            <summary>
-            Verify that the IIS Website exists if it has been specified.
-            </summary>
-            <param name="site">DirectoryEntry that meets the IISWebServer schema</param>
-            <returns>True if a site is found when specified. True if no site has been specified.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.IIS.WebBase.VerifyServerPortExists(System.DirectoryServices.DirectoryEntry)">
-            <summary>
-            Helper method for <see cref="M:MSBuild.Community.Tasks.IIS.WebBase.VerifyIISRoot"/> that verifies the server port exists.
-            </summary>
-            <param name="site">The site to verify the port.</param>
-            <returns>Boolean value indicating the status of the port check.</returns>
-            <exclude/>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.IIS.WebBase.SetIISPrimitives(System.String)">
-            <summary>
-            Sets some of the protected properties for the Virtual Directory Creation Wizard.
-            </summary>
-            <param name="serverInstance">DirectoryEntry.Name where the Entry is an IISWebServer schema</param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebBase.ServerName">
-            <summary>
-            Gets or sets the name of the server.  The default value is 'localhost'.
-            </summary>
-            <value>The name of the server.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebBase.HostHeaderName">
-            <summary>
-            Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers.
-            </summary>
-            <value>The name of the host header.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebBase.ServerPort">
-            <summary>
-            Gets or sets the server port.
-            </summary>
-            <value>The server port.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebBase.IISServerPath">
-            <summary>
-            Gets or sets the IIS server path.
-            </summary>
-            <remarks>Is in the form 'IIS://localhost/W3SVC/1/Root'.</remarks>
-            <value>The IIS server path.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebBase.IISApplicationPath">
-            <summary>
-            Gets or sets the application path.
-            </summary>
-            <remarks>Is in the form '/LM/W3SVC/1/Root'.</remarks>
-            <value>The application path.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebBase.IISAppPoolPath">
-            <summary>
-            Gets or sets the IIS application pool path.
-            </summary>
-            <remarks>Is in the form 'IIS://localhost/W3SVC/AppPools'.</remarks>
-            <value>The IIS application pool path.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebBase.Username">
-            <summary>
-            Gets or sets the username for the account the task will run under.  This property
-            is needed if you specified a <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.ServerName"/> for a remote machine.
-            </summary>
-            <value>The username of the account.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebBase.Password">
-            <summary>
-            Gets or sets the password for the account the task will run under.  This property
-            is needed if you specified a <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.ServerName"/> for a remote machine.
-            </summary>
-            <value>The password of the account.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.IIS.WebBase.IISVersion">
-            <summary>
-            Defines the possible IIS versions supported by the task.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.IISVersion.Four">
-            <summary>
-            IIS version 4.x
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.IISVersion.Five">
-            <summary>
-            IIS version 5.x
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.IISVersion.Six">
-            <summary>
-            IIS version 6.x
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.IIS.WebBase.ApplicationPoolAction">
-            <summary>
-            Defines the possible application pool actions to be performed.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.ApplicationPoolAction.Recycle">
-            <summary>
-            Recycles an application pool.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.ApplicationPoolAction.Restart">
-            <summary>
-            Stops and restarts the application pool.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.ApplicationPoolAction.Start">
-            <summary>
-            Starts the application pool.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.ApplicationPoolAction.Stop">
-            <summary>
-            Stops the application pool.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.IIS.WebBase.ApplicationPoolState">
-            <summary>
-            Defines the current application pool state.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.ApplicationPoolState.Starting">
-            <summary>
-            The application pool is starting.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.ApplicationPoolState.Started">
-            <summary>
-            The application pool has started.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.ApplicationPoolState.Stopping">
-            <summary>
-            The application pool is stopping.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.ApplicationPoolState.Stopped">
-            <summary>
-            The application pool has stopped.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            True if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.VirtualDirectoryName">
-            <summary>
-            Gets or sets the name of the virtual directory.
-            </summary>
-            <value>The name of the virtual directory.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.Extension">
-            <summary>
-            The filename extension that will be mapped to an executable.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.ExecutablePath">
-            <summary>
-            The full path to the executable used to respond to requests for a Uri ending with <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.Extension"/>
-            </summary>
-            <remarks>This property is required when <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.MapToAspNet"/> is <c>false</c> (the default).</remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.MapToAspNet">
-            <summary>
-            Indicates whether <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.Extension"/> should be mapped to the ASP.NET runtime.
-            </summary>
-            <remarks>When <c>true</c>, <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.ExecutablePath"/> is set to aspnet_isapi.dll
-            in the installation folder of the latest version of the .NET Framework.</remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.Verbs">
-            <summary>
-            A comma-separated list of the HTTP verbs to include in the application mapping.
-            </summary>
-            <remarks>The default behavior (when this property is empty or unspecified) is to map all verbs.
-            <para>A semi-colon-separated list will also be recognized, allowing you to use an MSBuild Item.</para></remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.EnableScriptEngine">
-            <summary>
-            Set to <c>true</c> when you want the application to run in a directory without Execute permissions.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.VerifyFileExists">
-            <summary>
-            Set to <c>true</c> to instruct the Web server to verify the existence of the requested script file and to ensure that the requesting user has access permission for that script file.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.IIS.WebDirectorySetting">
-            <summary>
-            Reads and modifies a web directory configuration setting.
-            </summary>
-            <example>Display the file system path of the MyWeb web directory:
-            <code><![CDATA[
-            <WebDirectorySetting VirtualDirectoryName="MyWeb" SettingName="Path">
-                <Output TaskParameter="SettingValue" PropertyName="LocalPath" />
-            </WebDirectorySetting>
-            <Message Text="MyWeb is located at $(LocalPath)" />
-            ]]></code>
-            </example>
-            <example>Set the default document for the MyWeb directory to Default.aspx:
-            <code><![CDATA[
-            <WebDirectorySetting VirtualDirectoryName="MyWeb" SettingName="DefaultDoc" SettingValue="Default.aspx" />
-            <WebDirectorySetting VirtualDirectoryName="MyWeb" SettingName="EnableDefaultDoc" SettingValue="True" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.IIS.WebDirectorySetting.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            True if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectorySetting.VirtualDirectoryName">
-            <summary>
-            Gets or sets the name of the virtual directory.
-            </summary>
-            <value>The name of the virtual directory.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectorySetting.SettingName">
-            <summary>
-            Gets or sets the configuration setting to read or modify.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectorySetting.SettingValue">
-            <summary>
-            Gets or sets the value of <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectorySetting.SettingName"/> on the web directory
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.ILMerge">
-            <summary>
-            A wrapper for the ILMerge tool.
-            </summary>
-            <remarks>
-            <para>
-            The ILMerge tool itself must be installed separately.
-            It is available <a href="http://research.microsoft.com/~mbarnett/ILMerge.aspx">here</a>.
-            </para>
-            <para>
-            The command line options "/wildcards" and "/lib" of ILMerge are not supported,
-            because MSBuild is in charge of expanding wildcards for item groups.
-            </para>
-            </remarks>
-            <example>
-            This example merges two assemblies A.dll and B.dll into one:
-            <code><![CDATA[
-            <PropertyGroup>
-                <outputFile>$(testDir)\ilmergetest.dll</outputFile>
-                <keyFile>$(testDir)\keypair.snk</keyFile>
-                <excludeFile>$(testDir)\ExcludeTypes.txt</excludeFile>
-                <logFile>$(testDir)\ilmergetest.log</logFile>
-            </PropertyGroup>
-            <ItemGroup>
-                <inputAssemblies Include="$(testDir)\A.dll" />
-                <inputAssemblies Include="$(testDir)\B.dll" />
-                <allowDuplicates Include="ClassAB" />
-            </ItemGroup>
-            <Target Name="merge" >
-               <ILMerge InputAssemblies="@(inputAssemblies)" 
-                   AllowDuplicateTypes="@(allowDuplicates)"
-                   ExcludeFile="$(excludeFile)"
-                   OutputFile="$(outputFile)" LogFile="$(logFile)"
-                   DebugInfo="true" XmlDocumentation="true" 
-                   KeyFile="$(keyFile)" DelaySign="true" />
-            </Target>]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.ILMerge.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.ILMerge"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.ILMerge.GenerateFullPathToTool">
-            <summary>
-            Gets the standard installation path of ILMerge.exe.
-            </summary>
-            <remarks>
-            If ILMerge is not installed at its standard installation path,
-            provide its location to <see cref="P:Microsoft.Build.Utilities.ToolTask.ToolPath"/>.
-            </remarks>
-            <returns>Returns [ProgramFiles]\Microsoft\ILMerge.exe.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.ILMerge.GenerateCommandLineCommands">
-            <summary>
-            Generates a string value containing the command line arguments
-            to pass directly to the executable file.
-            </summary>
-            <returns>
-            Returns a string value containing the command line arguments
-            to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.AllowDuplicateTypes">
-            <summary>
-            Gets or sets the names of public types
-            to be renamed when they are duplicates.
-            </summary>
-            <remarks>
-            <para>Set to an empty item group to allow all public types to be renamed.</para>
-            <para>Don't provide this parameter if no duplicates of public types are allowed.</para>
-            <para>Corresponds to command line option "/allowDup".</para>
-            <para>The default value is <c>null</c>.</para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.AllowZeroPeKind">
-            <summary>
-            Gets or sets a value indicating whether to treat an assembly 
-            with a zero PeKind flag 
-            (this is the value of the field listed as .corflags in the Manifest)
-            as if it was ILonly.
-            </summary>
-            <remarks>
-            <para>Corresponds to command line option "/zeroPeKind".</para>
-            <para>The default value is <c>false</c>.</para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.AttributeFile">
-            <summary>
-            Gets or sets the attribute assembly
-            from whre to get all of the assembly-level attributes
-            such as Culture, Version, etc.
-            It will also be used to get the Win32 Resources from.
-            </summary>
-            <remarks>
-            <para>This property is mutually exclusive with <see cref="P:MSBuild.Community.Tasks.ILMerge.CopyAttributes"/>.</para>
-            <para>
-            When not specified, then the Win32 Resources from the primary assembly 
-            are copied over into the target assembly.
-            </para>
-            <para>Corresponds to command line option "/attr".</para>
-            <para>The default value is <c>null</c>.</para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.Closed">
-            <summary>
-            Gets or sets a value indicating whether 
-            to augment the list of input assemblies
-            to its "transitive closure".
-            </summary>
-            <remarks>
-            <para>
-            An assembly is considered part of the transitive closure if it is referenced,
-            either directly or indirectly, 
-            from one of the originally specified input assemblies 
-            and it has an external reference to one of the input assemblies, 
-            or one of the assemblies that has such a reference.
-            </para>
-            <para>Corresponds to command line option "/closed".</para>
-            <para>The default value is <c>false</c>.</para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.CopyAttributes">
-            <summary>
-            Gets or sets a value indicating whether 
-            to copy the assembly level attributes
-            of each input assembly over into the target assembly.
-            </summary>
-            <remarks>
-            <para>
-            Any duplicate attribute overwrites a previously copied attribute.
-            The input assemblies are processed in the order they are specified.
-            </para>
-            <para>This parameter is mutually exclusive with <see cref="P:MSBuild.Community.Tasks.ILMerge.AttributeFile"/>.</para>
-            <para>Corresponds to command line option "/copyattrs".</para>
-            <para>The default value is <c>false</c>.</para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.DebugInfo">
-            <summary>
-            Gets or sets a value indicating whether 
-            to preserve any .pdb files
-            that are found for the input assemblies
-            into a .pdb file for the target assembly.
-            </summary>
-            <remarks>
-            <para>Corresponds to command line option "/ndebug".</para>
-            <para>The default value is <c>true</c>.</para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.DelaySign">
-            <summary>
-            Gets or sets a value indicating whether 
-            the target assembly will be delay signed.
-            </summary>
-            <remarks>
-            <para>This property can be set only in conjunction with <see cref="P:MSBuild.Community.Tasks.ILMerge.KeyFile"/>.</para>
-            <para>Corresponds to command line option "/delaysign".</para>
-            <para>The default value is <c>false</c>.</para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.ExcludeFile">
-            <summary>
-            Gets or sets the file
-            that will be used to identify types
-            that are not to have their visibility modified.
-            </summary>
-            <remarks>
-            <para>
-            If an empty item group is provided, 
-            then all types in any assembly other than the primary assembly are made non-public.
-            </para>
-            <para>Omit this parameter to prevent ILMerge from modifying the visibility of any types.</para>
-            <para>
-            The contents of the file should be one <see cref="T:System.Text.RegularExpressions.Regex"/> per line. 
-            The regular expressions are matched against each type's full name, 
-            e.g., <c>System.Collections.IList</c>. 
-            If the match fails, it is tried again with the assembly name (surrounded by square brackets) 
-            prepended to the type name. 
-            Thus, the pattern <c>\[A\].*</c> excludes all types in assembly <c>A</c> from being made non-public. 
-            The pattern <c>N.T</c> will match all types named <c>T</c> in the namespace named <c>N</c>
-            no matter what assembly they are defined in.
-            </para>
-            <para>Corresponds to command line option "/internalize".</para>
-            <para>The default value is <c>null</c>.</para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.InputAssemblies">
-            <summary>
-            Gets or sets the input assemblies to merge.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.Internalize">
-            <summary>
-            Gets or sets a value indicating whether whether types in assemblies other than the primary assembly have their visibility modified.
-            </summary>
-            <value><c>true</c> if internalize; otherwise, <c>false</c>.</value>
-            <remarks>
-            <para>This controls whether types in assemblies other than the primary assembly have 
-            their visibility modified. When it is true, then all non-exempt types that are visible 
-            outside of their assembly have their visibility modified so that they are not visible 
-            from outside of the merged assembly. A type is exempt if its full name matches a line 
-            from the ExcludeFile (Section 2.9) using the .NET regular expression engine.</para>
-            <para>Corresponds to command line option "/internalize".</para>
-            <para>The default value is <c>false</c>.</para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.KeyFile">
-            <summary>
-            Gets or sets the .snk file
-            to sign the target assembly.
-            </summary>
-            <remarks>
-            <para>Can be used with <see cref="P:MSBuild.Community.Tasks.ILMerge.DelaySign"/>.</para>
-            <para>Corresponds to command line option "/keyfile".</para>
-            <para>The default value is <c>null</c>.</para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.LogFile">
-            <summary>
-            Gets or sets a log file
-            to write log messages to.
-            </summary>
-            <remarks>
-            <para>
-            If an empty item group is provided,
-            then log messages are writte to <see cref="P:System.Console.Out"/>.
-            </para>
-            <para>Corresponds to command line option "/log".</para>
-            <para>The default value is <c>null</c>.</para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.OutputFile">
-            <summary>
-            Gets or sets the target assembly.
-            </summary>
-            <remarks>
-            <para>Corresponds to command line option "/out".</para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.PublicKeyTokens">
-            <summary>
-            Gets or sets a value indicating whether 
-            external assembly references in the manifest
-            of the target assembly will use public keys (<c>false</c>)
-            or public key tokens (<c>true</c>).
-            </summary>
-            <remarks>
-            <para>Corresponds to command line option "/publickeytokens".</para>
-            <para>The default value is <c>false</c>.</para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.SearchDirectories">
-            <summary>
-            Gets or sets the directories to be used to search for input assemblies.
-            </summary>
-            <value>The search directories.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.TargetPlatformVersion">
-            <summary>
-            Gets or sets the .NET framework version for the target assembly.
-            </summary>
-            <remarks>
-            <para>Valid values are "v1", "v1.1", "v2".</para>
-            <para>Corresponds to the first part of command line option "/targetplatform".</para>
-            <para>The default value is <c>null</c>.</para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.TargetPlatformDirectory">
-            <summary>
-            Gets or sets the directory in which <c>mscorlib.dll</c> is to be found.
-            </summary>
-            <remarks>
-            <para>Can only be used in conjunction with <see cref="P:MSBuild.Community.Tasks.ILMerge.TargetPlatformVersion"/>.</para>
-            <para>Corresponds to the second part of command line option "/targetplatform".</para>
-            <para>The default value is <c>null</c>.</para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.TargetKind">
-            <summary>
-            Gets or sets the indicator
-            whether the target assembly is created as a library (<c>Dll</c>),
-            a console application (<c>Exe</c>) or as a Windows application (<c>WinExe</c>).
-            </summary>
-            <remarks>
-            <para>Corresponds to command line option "/target".</para>
-            <para>The default value is the same kind as that of the primary assembly.</para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.Version">
-            <summary>
-            Gets or sets the version number of the target assembly.
-            </summary>
-            <remarks>
-            <para>The parameter should look like <c>6.2.1.3</c>.</para>
-            <para>Corresponds to command line option "/ver".</para>
-            <para>The default value is null.</para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.XmlDocumentation">
-            <summary>
-            Gets or sets a value indicating whether 
-            to merge XML documentation files
-            into one for the target assembly.
-            </summary>
-            <remarks>
-            <para>Corresponds to command line option "/xmldocs".</para>
-            <para>The default value is <c>false</c>.</para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.StandardOutputLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
-            </summary>
-            <value></value>
-            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ILMerge.StandardErrorLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"/> with which to log errors.
-            </summary>
-            <value></value>
-            <returns>
-            The <see cref="T:Microsoft.Build.Framework.MessageImportance"/> with which to log errors.
-            </returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Install.InstallAssembly">
-             <summary>
-             Installs assemblies.
-             </summary>
-            <remarks>
-             Uses InstallUtil.exe to execute the 
-             <see href="http://msdn2.microsoft.com/system.configuration.install.installer.install.aspx">Install</see>
-             method of
-             <see href="http://msdn2.microsoft.com/system.configuration.install.installer.aspx">Installer</see>
-             classes contained within specified assemblies.
-             </remarks>
-             <example>
-      Install multiple assemblies by specifying the file names:
-      <code>
-        <![CDATA[
-<InstallAssembly AssemblyFiles="Engine.dll;Presenter.dll" />
-]]>
-      </code>
-    </example><example>
-      Install an assembly using the assembly name. Also disable the log file by setting it to a single space:
-      <code>
-        <![CDATA[
-<InstallAssembly AssemblyNames="Engine,Version=1.5.0.0,Culture=neutral" LogFile=" "/>
-]]>
-      </code>
-    </example><example>
-      You can easily chain an install to the result of a build:
-      <code>
-        <![CDATA[
-<MSBuild Projects="Project1.csproj;Project2.csproj">
- <Output TaskParameter="TargetOutputs" ItemName="ProjectBinaries" />
-</MSBuild>
-<InstallAssembly AssemblyFiles="@(ProjectBinaries)" />
-]]>
-      </code>
-    </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Install.InstallAssembly.GenerateFullPathToTool">
-            <summary>
-            Returns the fully qualified path to the executable file.
-            </summary>
-            <returns>
-            The fully qualified path to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Install.InstallAssembly.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments 
-            to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass 
-            directly to the executable file.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Install.InstallAssembly.AssemblyNames">
-            <summary>
-            The assemblies to process, identified by their assembly name.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Install.InstallAssembly.AssemblyFiles">
-            <summary>
-            The assemblies to process, identified by their filename.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Install.InstallAssembly.LogFile">
-            <summary>
-            The file to write installation progress to.
-            </summary>
-            <remarks>Set to a single space to disable logging to a file.
-            <para>
-            If not specified, the default is to log to [assemblyname].installLog
-            </para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Install.InstallAssembly.ShowCallStack">
-            <summary>
-             If an exception occurs at any point during installation, the call
-             stack will be printed to the log.
-             </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Install.InstallAssembly.IsUninstall">
-            <summary>
-            Determines whether assemblies are installed or uninstalled.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Install.InstallAssembly.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <value></value>
-            <returns>The name of the executable file to run.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Install.UninstallAssembly">
-            <summary>Uninstalls assemblies.</summary>    
-            <remarks>
-            Uses InstallUtil.exe to execute the 
-            <see href="http://msdn2.microsoft.com/system.configuration.install.installer.uninstall.aspx">Uninstall</see>
-            method of
-            <see href="http://msdn2.microsoft.com/system.configuration.install.installer.aspx">Installer</see>
-            classes contained within specified assemblies.
-            </remarks>
-            <example>Uninstall multiple assemblies by specifying the file names:
-            <code><![CDATA[
-            <UninstallAssembly AssemblyFiles="Engine.dll;Presenter.dll" />
-            ]]></code>
-            </example>
-            <example>Unnstall an assembly using the assembly name. Also disable the log file by setting it to a single space:
-            <code><![CDATA[
-            <UninstallAssembly AssemblyNames="Engine,Version=1.5.0.0,Culture=neutral" LogFile=" "/>
-            ]]></code>
-            </example>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Install.UninstallAssembly.IsUninstall">
-            <summary>
-            Determines whether assemblies are installed or uninstalled.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Math.Modulo">
-            <summary>
-            Performs the modulo operation on numbers.
-            </summary>
-            <remarks>
-      The modulo operation finds the remainder of the division of one number by another.
-      <para>When the second number (modulus) is a fractional value, the result can be a fractional value.</para>
-      <para>
-        Equivalent to the % operator in C# or the Mod operator in Visual Basic.
-      </para>
-    </remarks><example>
-      Numbers evenly divide:
-      <code>
-        <![CDATA[
-<Math.Modulo Numbers="12;4">
-    <Output TaskParameter="Result" PropertyName="Result" />
-</Math.Modulo>
-<Message Text="12 modulo 4 = $(Result)"/>
-]]>
-      </code>
-      Above example will display:
-      <code>12 modulo 4 = 0</code>
-    </example><example>
-      Division on the numbers produces a remainder:
-      <code>
-        <![CDATA[
-<Math.Modulo Numbers="14;4">
-    <Output TaskParameter="Result" PropertyName="Result" />
-</Math.Modulo>
-<Message Text="14 modulo 4 = $(Result)"/>
-]]>
-      </code>
-      Above example will display:
-      <code>14 modulo 4 = 2</code>
-    </example><example>
-      Modulus is a fractional value:
-      <code>
-        <![CDATA[
-<Math.Modulo Numbers="12;3.5">
-    <Output TaskParameter="Result" PropertyName="Result" />
-</Math.Modulo>
-<Message Text="12 modulo 3.5 = $(Result)"/>
-]]>
-      </code>
-      Above example will display:
-      <code>12 modulo 3.5 = 1.5</code>
-    </example>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Math.MathBase">
-            <summary>
-            Math task base class
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Math.MathBase.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Math.MathBase.StringArrayToDecimalArray(System.String[])">
-            <summary>
-            Strings array to decimal array.
-            </summary>
-            <param name="numbers">The numbers.</param>
-            <returns></returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Math.MathBase.Numbers">
-            <summary>
-            Gets or sets the numbers to work with.
-            </summary>
-            <value>The numbers.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Math.MathBase.Result">
-            <summary>
-            Gets or sets the result.
-            </summary>
-            <value>The result.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Math.MathBase.NumericFormat">
-            <summary>
-            Gets or sets the numeric format.
-            </summary>
-            <value>The numeric format.</value>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Math.Modulo.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Prompt">
-            <summary>
-            Displays a message on the console and waits for user input.
-            </summary>
-            <remarks>It is important to note that the message is not written to the MSBuild logger, 
-            it is always written to the console, no matter which logger is configured.
-            <para>This task requires user input from the console. Do not use this task for projects
-            that will be executed unattended. It is recommended that you always add a Condtion so that
-            this task is only enabled when a custom property is set through the command line.
-            This will ensure that the other users do not attempt to execute the task in unattended mode.
-            </para></remarks>
-            <example>Pause the build if the interactive property is set:
-            <code><![CDATA[
-            <!-- Pause when invoked with the interactive property: msbuild myproject.proj /property:interactive=true -->
-            
-            <Prompt Text="You can now attach the debugger to the msbuild.exe process..." Condition="'$(Interactive)' == 'True'" />
-            ]]></code>
-            </example>
-            <example>Obtain user input during the build: 
-            (Note: in most cases, it is recommended that users instead provide custom values to your build through the /property argument of msbuild.exe)
-            <code><![CDATA[
-            <Prompt Text="Tell me your name:" Condition="'$(Interactive)' == 'True'" >
-              <Output TaskParameter="UserInput" PropertyName="PersonName" />
-            </Prompt>
-            <Message Text="Hello $(PersonName)" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Prompt.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Prompt.Text">
-            <summary>
-            The message to display in the console.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Prompt.UserInput">
-            <summary>
-            The text entered at the console.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.RegexBase">
-            <summary>
-            Base class for Regex tasks
-            Handles public properties for Input, Expression, Options and Output
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexBase.Expression">
-            <summary>
-            Regex expression
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexBase.Input">
-            <summary>
-            Input, list of items to perform the regex on
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexBase.Options">
-            <summary>
-            Regex options as strings corresponding to the RegexOptions enum:
-                Compiled
-                CultureInvariant
-                ECMAScript 
-                ExplicitCapture
-                IgnoreCase
-                IgnorePatternWhitespace
-                Multiline
-                None
-                RightToLeft
-                Singleline
-            </summary>
-            <enum cref="T:System.Text.RegularExpressions.RegexOptions"/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexBase.Output">
-            <summary>
-            Results of the Regex transformation.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexBase.ExpressionOptions">
-            <summary>
-            Options converted to RegexOptions enum
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.RegexMatch">
-            <summary>
-            Task to filter an Input list with a Regex expression.
-            Output list contains items from Input list that matched given expression
-            </summary>
-            <example>Matches from TestGroup those names ending in a, b or c
-            <code><![CDATA[
-            <ItemGroup>
-               <TestGroup Include="foo.my.foo.foo.test.o" />
-               <TestGroup Include="foo.my.faa.foo.test.a" />
-               <TestGroup Include="foo.my.fbb.foo.test.b" />
-               <TestGroup Include="foo.my.fcc.foo.test.c" />
-               <TestGroup Include="foo.my.fdd.foo.test.d" />
-               <TestGroup Include="foo.my.fee.foo.test.e" />
-               <TestGroup Include="foo.my.fff.foo.test.f" />
-            </ItemGroup>
-            <Target Name="Test">
-               <!-- Outputs only items that end with a, b or c -->
-               <RegexMatch Input="@(TestGroup)" Expression="[a-c]$">
-                  <Output ItemName ="MatchReturn" TaskParameter="Output" />
-               </RegexMatch>
-               <Message Text="&#xA;Output Match:&#xA;@(MatchReturn, '&#xA;')" />
-            </Target>
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.RegexMatch.Execute">
-            <summary>
-            Performs the Match task
-            </summary>
-            <returns><see langword="true"/> if the task ran successfully; 
-            otherwise <see langword="false"/>.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.RegexReplace">
-            <summary>
-            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.
-            </summary>
-            <example>
-            1st example replaces first occurance of "foo." with empty string
-            2nd example replaces occurance of "foo." after character 6 with "oop." string
-            <code><![CDATA[
-            <ItemGroup>
-               <TestGroup Include="foo.my.foo.foo.test.o" />
-               <TestGroup Include="foo.my.faa.foo.test.a" />
-               <TestGroup Include="foo.my.fbb.foo.test.b" />
-               <TestGroup Include="foo.my.fcc.foo.test.c" />
-               <TestGroup Include="foo.my.fdd.foo.test.d" />
-               <TestGroup Include="foo.my.fee.foo.test.e" />
-               <TestGroup Include="foo.my.fff.foo.test.f" />
-            </ItemGroup>
-            <Target Name="Test">
-               <Message Text="Input:&#xA;@(TestGroup, '&#xA;')"/>
-               <!-- Replaces first occurance of "foo." with empty string-->
-               <RegexReplace Input="@(TestGroup)" Expression="foo\." Replacement="" Count="1">
-                  <Output ItemName ="ReplaceReturn1" TaskParameter="Output" />
-               </RegexReplace>
-               <Message Text="&#xA;Output Replace 1:&#xA;@(ReplaceReturn1, '&#xA;')" />
-               <!-- Replaces occurance of "foo." after character 6 with "oop." string-->
-               <RegexReplace Input="@(TestGroup)" Expression="foo\." Replacement="oop" Startat="6">
-                  <Output ItemName ="ReplaceReturn2" TaskParameter="Output" />
-               </RegexReplace>
-               <Message Text="&#xA;Output Replace 2:&#xA;@(ReplaceReturn2, '&#xA;')" />
-            </Target>
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.RegexReplace.Execute">
-            <summary>
-            Performs the Replace task
-            </summary>
-            <returns><see langword="true"/> if the task ran successfully; 
-            otherwise <see langword="false"/>.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexReplace.Replacement">
-            <summary>
-            String replacing matching expression strings in input list.
-            If left empty matches in the input list are removed (replaced with empty string)
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexReplace.Count">
-            <summary>
-            Number of matches to allow on each input item.
-            -1 indicates to perform matches on all matches within input item
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegexReplace.StartAt">
-            <summary>
-            Position within the input item to start matching
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Schema.TaskListAssemblyFormatType">
-            <summary>
-            Different ways to specify the assembly in a UsingTask element.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Schema.TaskListAssemblyFormatType.AssemblyFileName">
-            <summary>
-            Assembly file name (Default): &lt;UsingTask AssemblyFile=&quot;foo.dll&quot; /&gt;
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Schema.TaskListAssemblyFormatType.AssemblyFileFullPath">
-            <summary>
-            Assembly location: &lt;UsingTask AssemblyName=&quot;foo&quot; /&gt;
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Schema.TaskListAssemblyFormatType.AssemblyName">
-            <summary>
-            Assembly Name: &lt;UsingTask AssemblyFile=&quot;bin\debug\foo.dll&quot; /&gt;
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Schema.TaskListAssemblyFormatType.AssemblyFullName">
-            <summary>
-            Assembly fully qualified name: &lt;UsingTask AssemblyName=&quot;foo.dll,version ....&quot; /&gt;
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Schema.TaskSchema">
-            <summary>
-            A Task that generates a XSD schema of the tasks in an assembly.
-            </summary>
-            <example>
-            <para>Creates schema for MSBuild Community Task project</para>
-            <code><![CDATA[
-            <TaskSchema Assemblies="Build\MSBuild.Community.Tasks.dll" 
-                OutputPath="Build" 
-                CreateTaskList="true" 
-                IgnoreMsBuildSchema="true"
-                Includes="Microsoft.Build.Commontypes.xsd"/>
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Schema.TaskSchema.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Schema.TaskSchema.Assemblies">
-            <summary>
-            Gets or sets the list of <see cref="T:System.Reflection.Assembly"/> path to analyse.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Schema.TaskSchema.OutputPath">
-            <summary>
-            Gets or sets the output path for the generated files.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Schema.TaskSchema.Schemas">
-            <summary>
-            Gets the list of path to the generated XSD schema.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Schema.TaskSchema.CreateTaskList">
-            <summary>
-            Gets or sets a value indicating if the task list (using UsingTask)
-            has to be genereted.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Schema.TaskSchema.TaskListAssemblyFormat">
-            <summary>
-            Gets or sets a value indicating how the assembly is specified in the
-            UsingTask element.
-            </summary>
-            <enum cref="T:MSBuild.Community.Tasks.Schema.TaskListAssemblyFormatType"/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Schema.TaskSchema.IgnoreDocumentation">
-            <summary>
-            Gets or sets a value indicating wheter documentation should be ignored
-            even if available (Default is false).
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Schema.TaskSchema.TaskLists">
-            <summary>
-            Gets the path to the task list if it was generated.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Schema.TaskSchema.IgnoreMsBuildSchema">
-            <summary>
-            Gets or sets a value indicating if the 
-            MsBuild schema inclusing should be ignored
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Schema.TaskSchema.Includes">
-            <summary>
-            Gets or sets a list of included schemas
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.GetSolutionProjects">
-            <summary>
-            Retrieves the list of Projects contained within a Visual Studio Solution (.sln) file 
-            </summary>
-            <example>
-            Returns project name, GUID, and path information from test solution
-            <code><![CDATA[
-              <Target Name="Test">
-                  <GetSolutionProjects Solution="TestSolution.sln">
-                      <Output ItemName="ProjectFiles" TaskParameter="Output"/>
-                  </GetSolutionProjects>
-            
-                <Message Text="Project names:" />
-                <Message Text="%(ProjectFiles.ProjectName)" />
-                <Message Text="Relative project paths:" />
-                <Message Text="%(ProjectFiles.ProjectPath)" />
-                <Message Text="Project GUIDs:" />
-                <Message Text="%(ProjectFiles.ProjectGUID)" />
-                <Message Text="Full paths to project files:" />
-                <Message Text="%(ProjectFiles.FullPath)" />
-              </Target>
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.GetSolutionProjects.Execute">
-            <summary>
-            Perform task
-            </summary>
-            <returns>true on success</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.GetSolutionProjects.Output">
-            <summary>
-            A list of the project files found in <see cref="P:MSBuild.Community.Tasks.GetSolutionProjects.Solution"/>
-            </summary>
-            <remarks>
-            The name of the project can be retrieved by reading metadata tag <c>ProjectName</c>.
-            <para>
-            The path to the project as it is is stored in the solution file retrieved by reading metadata tag <c>ProjectPath</c>.
-            </para>
-            <para>
-            The project's GUID can be retrieved by reading metadata tag <c>ProjectGUID</c>.
-            </para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.GetSolutionProjects.Solution">
-            <summary>
-            Name of Solution to get Projects from
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.SqlServer.ExecuteDDL">
-             <summary>
-             MSBuild task to execute DDL and SQL statements.
-             </summary>
-             <remarks>Requires the the SQL Server libraries and dynamically loads the 
-             required Microsoft.SqlServer.ConnectionInfo assembly.</remarks>
-             <example>
-             <code><![CDATA[
-             <PropertyGroup>
-            		<ConnectionString>Server=localhost;Integrated Security=True</ConnectionString>
-            	</PropertyGroup>
-            
-             <Target Name="ExecuteDDL">
-            		<ExecuteDDL ConnectionString="$(ConnectionString)" Files="SqlBatchScript.sql" ContinueOnError="false" />
-             </Target>
-             ]]></code>
-             </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SqlServer.ExecuteDDL.Execute">
-            <summary>
-            Executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.ExecuteDDL.ConnectionString">
-            <summary>
-            The connection string
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.ExecuteDDL.Files">
-            <summary>
-            Gets or sets the DDL/SQL files.
-            </summary>
-            <value>The assemblies.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.ExecuteDDL.Results">
-            <summary>
-            Output the return count/values
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.ExecuteDDL.StatementTimeout">
-            <summary>
-            Timeout to execute a DDL statement.
-            </summary>
-            <remarks>Defaults to 30 seconds. Set to 0 for an infinite timeout period.</remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlServer.ExecuteDDL.BatchSeparator">
-            <summary>
-            Gets or sets the batch delimter string.
-            </summary>
-            <remarks>Default is "GO" for T-SQL.</remarks>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Subversion.NodeKind">
-            <summary>
-            The kind of Subversion node. The names match the text output
-            by "svn info".
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Subversion.NodeKind.file">
-            <summary>
-            Node is a file
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Subversion.NodeKind.dir">
-            <summary>
-            Node is a directory
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Subversion.NodeKind.unknown">
-            <summary>
-            Unknown node type
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Subversion.Schedule">
-            <summary>
-            The Subversion schedule type.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Subversion.Schedule.normal">
-            <summary>
-            Normal schedule
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Subversion.Schedule.unknown">
-            <summary>
-            Unknown schedule.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Subversion.SvnInfo">
-            <summary>
-            Run the "svn info" command and parse the output
-            </summary>
-            <example>
-            This example will determine the Subversion repository root for
-            a working directory and print it out.
-            <code><![CDATA[
-            <Target Name="printinfo">
-              <SvnInfo LocalPath="c:\code\myapp">
-                <Output TaskParameter="RepositoryRoot" PropertyName="root" />
-              </SvnInfo>
-              <Message Text="root: $(root)" />
-            </Target>
-            ]]></code>
-            </example>
-            <remarks>You can retrieve Subversion information for a <see cref="P:MSBuild.Community.Tasks.Subversion.SvnClient.LocalPath"/> or <see cref="P:MSBuild.Community.Tasks.Subversion.SvnClient.RepositoryPath"/>.
-            If you do not provide a value for <see cref="P:MSBuild.Community.Tasks.Subversion.SvnClient.LocalPath"/> or <see cref="P:MSBuild.Community.Tasks.Subversion.SvnClient.RepositoryPath"/>, the current directory is assumed.</remarks>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnInfo.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:SvnInfo"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnInfo.ResetMemberVariables">
-            <summary>
-            Reset all instance variables to their default (unset) state.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnInfo.Execute">
-            <summary>
-            Execute the task.
-            </summary>
-            <returns>true if execution is successful, false if not.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnInfo.RepositoryRoot">
-            <summary>
-            Return the repository root or null if not set by Subversion.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnInfo.RepositoryUuid">
-            <summary>
-            Return the repository UUID value from Subversion.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnInfo.NodeKind">
-            <summary>
-            The Subversion node kind.
-            </summary>
-            <enum cref="T:MSBuild.Community.Tasks.Subversion.NodeKind"/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnInfo.LastChangedAuthor">
-            <summary>
-            The author who last changed this node.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnInfo.LastChangedRevision">
-            <summary>
-            The last changed revision number.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnInfo.LastChangedDate">
-            <summary>
-            The date this node was last changed.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnInfo.Schedule">
-            <summary>
-            The Subversion schedule type.
-            </summary>
-            <enum cref="T:MSBuild.Community.Tasks.Subversion.Schedule"/>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.TemplateFile">
-            <summary>
-            MSBuild task that replaces tokens in a template file and writes out a new file.
-            </summary>
-            <example>
-            <code><![CDATA[
-            <ItemGroup>
-            	<Tokens Include="Name">
-            		<ReplacementValue>MSBuild Community Tasks</ReplacementValue>
-            	</Tokens>
-            </ItemGroup>
-            
-            <TemplateFile TemplateFile="ATemplateFile.template" OutputFile="ReplacedFile.txt" Tokens="@(Tokens)" />
-            ]]></code>
-            </example>
-            <remarks>Tokens in the template file are formatted using ${var} syntax and names are not 
-            case-sensitive, so ${Token} and ${TOKEN} are equivalent.</remarks>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.TemplateFile.MetadataValueTag">
-            <summary>
-            Meta data tag used for token replacement
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.TemplateFile.#ctor">
-            <summary>
-            Default constructor. Creates a new TemplateFile task.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.TemplateFile.Execute">
-            <summary>
-            Executes the task.
-            </summary>
-            <returns>Success or failure of the task.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.TemplateFile.OutputFile">
-            <summary>
-            The token replaced template file.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.TemplateFile.OutputFilename">
-            <summary>
-            The full path to the output file name.  If no filename is specified (the default) the
-            output file will be the Template filename with a .out extension.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.TemplateFile.Template">
-            <summary>
-            The template file used.  Tokens with values of ${Name} are replaced by name.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.TemplateFile.Tokens">
-            <summary>
-            List of tokens to replace in the template.  Token name is taken from the TaskItem.ItemSpec and the
-            replacement value comes from the ReplacementValue metadata of the item.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Time">
-            <summary>
-            Gets the current date and time.
-            </summary>
-            <remarks>
-            See
-            <a href="ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.en/cpref8/html/T_System_Globalization_DateTimeFormatInfo.htm">
-            DateTimeFormatInfo</a>
-            for the syntax of the format string.
-            </remarks>
-            <example>Using the Time task to get the Month, Day,
-            Year, Hour, Minute, and Second:
-            <code><![CDATA[
-            <Time>
-              <Output TaskParameter="Month" PropertyName="Month" />
-              <Output TaskParameter="Day" PropertyName="Day" />
-              <Output TaskParameter="Year" PropertyName="Year" />
-              <Output TaskParameter="Hour" PropertyName="Hour" />
-              <Output TaskParameter="Minute" PropertyName="Minute" />
-              <Output TaskParameter="Second" PropertyName="Second" />
-            </Time>
-            <Message Text="Current Date and Time: $(Month)/$(Day)/$(Year) $(Hour):$(Minute):$(Second)" />]]></code>
-            Set property "BuildDate" to the current date and time:
-            <code><![CDATA[
-            <Time Format="yyyyMMddHHmmss">
-                <Output TaskParameter="FormattedTime" PropertyName="buildDate" />
-            </Time>]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Time.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            True if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Time.Format">
-            <summary>
-            Gets or sets the format string
-            for output parameter <see cref="P:MSBuild.Community.Tasks.Time.FormattedTime"/>.
-            </summary>
-            <remarks>
-            See
-            <a href="ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.en/cpref8/html/T_System_Globalization_DateTimeFormatInfo.htm">
-            DateTimeFormatInfo</a>
-            for the syntax of the format string.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Time.Month">
-            <summary>
-            Gets the month component of the date represented by this instance.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Time.Day">
-            <summary>
-            Gets the day of the month represented by this instance.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Time.Year">
-            <summary>
-            Gets the year component of the date represented by this instance.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Time.Hour">
-            <summary>
-            Gets the hour component of the date represented by this instance.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Time.Minute">
-            <summary>
-            Gets the minute component of the date represented by this instance.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Time.Second">
-            <summary>
-            Gets the seconds component of the date represented by this instance.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Time.Millisecond">
-            <summary>
-            Gets the milliseconds component of the date represented by this instance.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Time.Ticks">
-            <summary>
-            Gets the number of ticks that represent the date and time of this instance.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Time.Kind">
-            <summary>
-            Gets or sets a value that indicates whether the time represented by this instance is based
-            on local time, Coordinated Universal Time (UTC), or neither.
-            </summary>
-            <remarks>
-            Possible values are:
-            <list type="ul">
-            <item>Local (default)</item>,
-            <item>Utc</item>,
-            <item>Unspecified</item>
-            </list>
-            </remarks>
-            <enum cref="T:System.DateTimeKind"/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Time.TimeOfDay">
-            <summary>
-            Gets the time of day for this instance.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Time.DayOfYear">
-            <summary>
-            Gets the day of the year represented by this instance.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Time.DayOfWeek">
-            <summary>
-            Gets the day of the week represented by this instance.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Time.FormattedTime">
-            <summary>
-            Gets the value of this instance to its equivalent string representation.
-            If input parameter <see cref="P:MSBuild.Community.Tasks.Time.Format"/> is provided,
-            the value is formatted according to it.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Time.ShortDate">
-            <summary>
-            Gets the value of this instance to its equivalent short date string representation.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Time.LongDate">
-            <summary>
-            Gets the value of this instance to its equivalent long date string representation.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Time.ShortTime">
-            <summary>
-            Gets the value of this instance to its equivalent short time string representation.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Time.LongTime">
-            <summary>
-            Gets the value of this instance to its equivalent long time string representation.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Time.DateTimeValue">
-            <summary>
-            Gets the internal time value.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem">
-            <summary>
-            Represents a single XmlNode selected using an XML task.
-            </summary>
-            <exclude />
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.#ctor(System.Xml.XPath.XPathNavigator,System.String)">
-            <summary>
-            Initializes a new instance of an XmlNodeTaskItem
-            </summary>
-            <param name="xpathNavigator">The selected XmlNode</param>
-            <param name="reservedMetaDataPrefix">The prefix to attach to the reserved metadata properties.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.ToString">
-            <summary>
-            Returns a string representation of the XmlNodeTaskItem.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.op_Explicit(MSBuild.Community.Tasks.Xml.XmlNodeTaskItem)~System.String">
-            <summary>
-            Returns the ItemSpec when the XmlNodeTaskItem is explicitly cast as a <see cref="T:System.String"/>
-            </summary>
-            <param name="taskItemToCast">The XmlNodeTaskItem</param>
-            <returns></returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.CloneCustomMetadata">
-            <summary>
-            
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.CopyMetadataTo(Microsoft.Build.Framework.ITaskItem)">
-            <summary>
-            
-            </summary>
-            <param name="destinationItem"></param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.GetMetadata(System.String)">
-            <summary>
-            
-            </summary>
-            <param name="metadataName"></param>
-            <returns></returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.RemoveMetadata(System.String)">
-            <summary>
-            
-            </summary>
-            <param name="metadataName"></param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.SetMetadata(System.String,System.String)">
-            <summary>
-            
-            </summary>
-            <param name="metadataName"></param>
-            <param name="metadataValue"></param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.ItemSpec">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.MetadataCount">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.MetadataNames">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Xml.XmlQuery">
-            <summary>
-            Reads a value or values from lines of XML
-            </summary>
-            <remarks>
-      Use the Lines property (possibly populated from the the ReadLinesFromFile task) if you want to perform multiple
-      queries against some XML in memory. Use the XmlFileName property to query a large XML file.
-      <para>
-        An XPath expression can return multiple nodes in the <see cref="P:MSBuild.Community.Tasks.Xml.XmlQuery.Values"/> collection.
-        The number of nodes returned is availabe in the <see cref="P:MSBuild.Community.Tasks.Xml.XmlQuery.ValuesCount"/> output TaskParameter.
-      </para>
-      <para>
-        When the XPath expression resolves to an element node, all of the
-        attributes of the element are added as metadata to the returned <see cref="T:Microsoft.Build.Framework.ITaskItem"/>.
-        In addition, some reserved metadata properties are available on all element nodes.
-        They are all prefixed with the <see cref="P:MSBuild.Community.Tasks.Xml.XmlQuery.ReservedMetaDataPrefix"/>,
-        which is a single underscore (_) by default.
-        <list type="table">
-          <listheader>
-            <term>Reserved Property</term>
-          </listheader>
-          <item>
-            <term>_value</term>
-            <description>The value of the node (non-xml text between the opening and closing tags).</description>
-          </item>
-          <item>
-            <term>_innerXml</term>
-            <description>The markup representing the children of this node.</description>
-          </item>
-          <item>
-            <term>_outerXml</term>
-            <description>The markup representing this node and all its child nodes.</description>
-          </item>
-        </list>
-      </para>
-    </remarks><example>
-      Read an attribute value by selecting it with an XPath expression:
-      <code>
-        <![CDATA[
-<ReadLinesFromFile File="web.config">
-    <Output TaskParameter="Lines" ItemName="FileContents" />
-</ReadLinesFromFile>
-
-<XmlQuery Lines="@(FileContents)"
-    XPath = "/configuration/system.web/compilation/@defaultLanguage">
-  <Output TaskParameter="Values" PropertyName="CompilationLanguage" />
-</XmlQuery>
-
-<Message Text="The default language is $(CompilationLanguage)." />
-]]>
-      </code>
-    </example><example>
-      Read attribute values (from an XML file) using item metadata on a selected element node:
-      <code>
-        <![CDATA[
-<XmlQuery XmlFileName="$(MSBuildProjectDirectory)\web.config"
-    XPath = "/configuration/system.web/compilation">
-  <Output TaskParameter="Values" ItemName="CompilationElement" />
-</XmlQuery>
-
-<Message Text="The default language is: $(CompilationElement.defaultLanguage)." />
-<Message Text="Debug is enabled: $(CompilationElement.debug)." />
-]]>
-      </code>
-    </example><example>
-      Read an element value (requires use of the reserved metadata property "_value"):
-      <code>
-        <![CDATA[
-<ReadLinesFromFile File="web.config">
-    <Output TaskParameter="Lines" ItemName="FileContents" />
-</ReadLinesFromFile>
-
-<XmlQuery Lines="@(FileContents)"
-    XPath = "/configuration/singleValue/LastName">
-  <Output TaskParameter="Values" PropertyName="LastNameElement" />
-</XmlQuery>
-
-<Message Text="The last name is %(LastNameElement._value)" />
-]]>
-      </code>
-    </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Xml.XmlQuery.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            True if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xml.XmlQuery.Lines">
-            <summary>
-            The lines of a valid XML document
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xml.XmlQuery.XmlFileName">
-            <summary>
-            Gets or sets the name of an XML file to query
-            </summary>
-            <value>The full path of the XML file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xml.XmlQuery.NamespaceDefinitions">
-            <summary>
-            A collection of prefix=namespace definitions used to query the XML document
-            </summary>
-            <example>
-      Defining multiple namespaces:
-      <code>
-        <![CDATA[
-<XmlMassUpdate ContentFile="web.config"
-  SubstitutionsRoot="/configuration/substitutions"
-  NamespaceDefinitions = "soap=http://www.w3.org/2001/12/soap-envelope;x=http://www.w3.org/1999/XSL/Transform">
-/>]]>
-      </code>
-    </example>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xml.XmlQuery.XPath">
-            <summary>
-            The query used to identify the values in the XML document
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xml.XmlQuery.Values">
-            <summary>
-            The values selected by <see cref="P:MSBuild.Community.Tasks.Xml.XmlQuery.XPath"/>
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xml.XmlQuery.ValuesCount">
-            <summary>
-            The number of values returned in <see cref="P:MSBuild.Community.Tasks.Xml.XmlQuery.Values"/>
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xml.XmlQuery.ReservedMetaDataPrefix">
-            <summary>
-            The string that is prepended to all reserved metadata properties.
-            </summary>
-            <remarks>The default value is a single underscore: '_'
-            <para>All attributes of an element node are added as metadata to the returned ITaskItem,
-            so this property can be used to avoid clashes with the reserved properties.
-            For example, if you selected the following node:
-            <code><![CDATA[ <SomeNode _name="x" _value="y" /> ]]></code>
-            the <c>_value</c> attribute would clash with the <c>value</c> reserved property, when using
-            the default prefix. If you set the ReservedMetaDataPrefix to another value (two underscores '__')
-            there would be no clash. You would be able to select the attribute using <c>%(item._value)</c>
-            and the value of the node using <c>%(item.__value)</c>.</para></remarks>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Xml.XmlTaskHelper">
-            <summary>
-            Provides methods used by all of the XML tasks
-            </summary>
-            <exclude />
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Xml.XmlTaskHelper.JoinItems(Microsoft.Build.Framework.ITaskItem[])">
-            <summary>
-            Concatenates the string value of a list of ITaskItems into a single string
-            </summary>
-            <param name="items">The items to concatenate</param>
-            <returns>A single string containing the values from all of the items</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Xml.XmlTaskHelper.LoadNamespaceDefinitionItems(System.Xml.XmlNamespaceManager,Microsoft.Build.Framework.ITaskItem[])">
-            <summary>
-            Uses the prefix=namespace definitions in <paramref name="definitions"/> to populate <paramref name="namespaceManager"/>
-            </summary>
-            <param name="namespaceManager">The <see cref="T:System.Xml.XmlNamespaceManager"/> to populate.</param>
-            <param name="definitions">The prefix=namespace definitions.</param>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Xslt">
-            <summary>
-            A task to merge and transform a set of xml files.
-            </summary>
-            <remarks>
-      <p>
-        The xml files of parameter <see cref="P:MSBuild.Community.Tasks.Xslt.Inputs"/>
-        are merged into one xml document,
-        wrapped with a root tag <see cref="P:MSBuild.Community.Tasks.Xslt.RootTag"/>
-      </p>
-      <p>
-        If only one input file is provided,
-        merging and wrapping can be omitted
-        by setting <see cref="P:MSBuild.Community.Tasks.Xslt.RootTag"/> to an empty string.
-      </p>
-      <p>
-        The root tag can be given any number of attributes
-        by providing a list of semicolon-delimited name/value pairs
-        to parameter <see cref="P:MSBuild.Community.Tasks.Xslt.RootAttributes"/>.
-        For example: <code>RootAttributes="foo=bar;date=$(buildDate)"</code>
-      </p>
-      <p>
-        Parameter <see cref="P:MSBuild.Community.Tasks.Xslt.RootAttributes"/> defaults to
-        one attribute with a name specified by <see cref="F:MSBuild.Community.Tasks.Xslt.CreatedAttributeName"/>,
-        and a local time stamp as value.
-        To suppress the default value, an empty parameter
-        <code>RootAttributes=""</code>
-        must be specified explicitely.
-      </p>
-      <p>
-        The xsl transformation file
-        specified by parameter <see cref="P:MSBuild.Community.Tasks.Xslt.Xsl"/>
-        is applied on the input.
-      </p>
-      <p>
-        The <see cref="T:Microsoft.Build.Framework.ITaskItem"/> <see cref="P:MSBuild.Community.Tasks.Xslt.Xsl"/>
-        can be given any number of metadata,
-        which will be handed to the xsl transformation
-        as parameters.
-      </p>
-      <p>
-        If only one input file is given with <see cref="T:Microsoft.Build.Framework.ITaskItem"/> <see cref="P:MSBuild.Community.Tasks.Xslt.Inputs"/>,
-        metadata will also be handed to the xsl transformation.
-        However, the <see cref="P:MSBuild.Community.Tasks.Xslt.Xsl"/> metadata is preferred in case of equal names.
-        To overcome this limitation, for each input item metadatum, an additional parameter
-        prefixed with <see cref="F:MSBuild.Community.Tasks.Xslt.InputMetadataArgumentPrefix"/> is created.
-      </p>
-      <p>
-        The output is written to the file
-        specified by parameter <see cref="P:MSBuild.Community.Tasks.Xslt.Output"/>.
-      </p>
-    </remarks><example>
-      This example for generating a report
-      from a set of NUnit xml results:
-      <code>
-        <![CDATA[
-<ItemGroup>
-    <nunitReportXslFile Include="$(MSBuildCommunityTasksPath)\$(nunitReportXsl)">
-        <project>$(project)</project>
-        <configuration>$(configuration)</configuration>
-        <msbuildFilename>$(MSBuildProjectFullPath)</msbuildFilename>
-        <msbuildBinpath>$(MSBuildBinPath)</msbuildBinpath>
-        <xslFile>$(MSBuildCommunityTasksPath)\$(nunitReportXsl)</xslFile>
-    </nunitReportXslFile>
-</ItemGroup>
-
-<Target Name="test-report" >
-    <Xslt Inputs="@(nunitFiles)"
-        RootTag="mergedroot"
-        Xsl="@(nunitReportXslFile)" 
-        Output="$(testDir)\TestReport.html" />
-</Target>]]>
-      </code>
-
-      This examples shows all available task attributes:
-      <code>
-        <![CDATA[
-<Time Format="yyyyMMddHHmmss">
-    <Output TaskParameter="LocalTimestamp" PropertyName="buildDate" />
-</Time>
-
-<Xslt
-     Inputs="@(xmlfiles)"
-     RootTag="mergedroot"
-     RootAttributes="foo=bar;date=$(buildDate)"
-     Xsl="transformation.xsl"
-     Output="report.html"
-/>]]>
-      </code>
-    </example>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Xslt.CreatedAttributeName">
-            <summary>
-            The name of the default attribute
-            of the <see cref="P:MSBuild.Community.Tasks.Xslt.RootTag"/>.
-            The value is <c>"created"</c>,
-            and the attribute will contain a local time stamp.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.Xslt.InputMetadataArgumentPrefix">
-            <summary>
-            The prefix of XSLT parameters created from single XML input metadata.
-            <para>The value is <c>"input_"</c>.</para>
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Xslt.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            Returns <c>true</c> if the task successfully executed; otherwise, <c>false</c>.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Xslt.AddParameter(System.String,System.String,System.Xml.Xsl.XsltArgumentList)">
-            <summary>
-            Adds a new xsl parameter with to the specified argument list.
-            </summary>
-            <param name="name">The name of the parameter.</param>
-            <param name="value">The value of the parameter.</param>
-            <param name="parameters">The parameter list.</param>
-            <returns>Whether the parameter was added.</returns>
-            <remarks>Does not add the parameter
-            when a parameter with the same name is already part of the <paramref name="parameters"/>.</remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xslt.Inputs">
-            <summary>
-            Gets or sets the xml input files.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xslt.RootTag">
-            <summary>
-            Gets or sets the xml tag name
-            of the root tag wrapped
-            around the merged xml input files.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xslt.RootAttributes">
-            <summary>
-            Gets or sets the list of
-            semicolon-delimited name/value pairs
-            of the <see cref="P:MSBuild.Community.Tasks.Xslt.RootTag"/>.
-            For example: <code>RootAttributes="foo=bar;date=$(buildDate)"</code>
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xslt.UseTrusted">
-            <summary>
-            Enables a Trusted XSLT processor. Sepcifically enables scripts 
-            in the xsl transformation file
-            For example: <code>UseTrusted="true"</code>
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xslt.Xsl">
-            <summary>
-            Gets or sets the path of the
-            xsl transformation file to apply.
-            </summary>
-            <remarks>
-            The property can be given any number of metadata,
-            which will be handed to the xsl transformation
-            as parameters.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Xslt.Output">
-            <summary>
-            Gets or sets the path of the output file.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.FileUpdate">
-            <summary>
-            Replace text in file(s) using a Regular Expression.
-            </summary>
-            <example>Search for a version number and update the revision.
-            <code><![CDATA[
-            <FileUpdate Files="version.txt"
-                Regex="(\d+)\.(\d+)\.(\d+)\.(\d+)"
-                ReplacementText="$1.$2.$3.123" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.FileUpdate.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:FileUpdate"/> class.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.FileUpdate._useDefaultEncoding">
-            Maintain the behaviour of the original implementation for compatibility
-            (i.e. initialize _useDefaultEncoding with false) and use utf-8-without-bom,  
-            which is Microsoft's default encoding, only when Encoding property is set 
-            to "utf-8-without-bom". 
-        </member>
-        <member name="M:MSBuild.Community.Tasks.FileUpdate.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FileUpdate.Files">
-            <summary>
-            Gets or sets the files to update.
-            </summary>
-            <value>The files.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FileUpdate.Regex">
-            <summary>
-            Gets or sets the regex.
-            </summary>
-            <value>The regex.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FileUpdate.IgnoreCase">
-            <summary>
-            Gets or sets a value specifies case-insensitive matching. .
-            </summary>
-            <value><c>true</c> if [ignore case]; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FileUpdate.Multiline">
-            <summary>
-            Gets or sets a value changing the meaning of ^ and $ so they match at the beginning and end, 
-            respectively, of any line, and not just the beginning and end of the entire string.
-            </summary>
-            <value><c>true</c> if multiline; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FileUpdate.Singleline">
-            <summary>
-            Gets or sets a value changing the meaning of the dot (.) so it matches 
-            every character (instead of every character except \n). 
-            </summary>
-            <value><c>true</c> if singleline; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FileUpdate.ReplacementCount">
-            <summary>
-            Gets or sets the maximum number of times the replacement can occur.
-            </summary>
-            <value>The replacement count.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FileUpdate.ReplacementTextEmpty">
-            <summary>
-            Gets or sets if replacement text is empty.
-            </summary>
-            <value><c>true</c> if [ignore case]; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FileUpdate.ReplacementText">
-            <summary>
-            Gets or sets the replacement text.
-            </summary>
-            <value>The replacement text.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FileUpdate.Encoding">
-            <summary>
-            The character encoding used to read and write the file.
-            </summary>
-            <remarks>Any value returned by <see cref="P:System.Text.Encoding.WebName"/> is valid input.
-            <para>The default is <c>utf-8</c></para>
-            <para>Additionally, <c>utf-8-without-bom</c>can be used.</para></remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FileUpdate.WarnOnNoUpdate">
-            <summary>
-            When TRUE, a warning will be generated to show which file was not updated.
-            </summary>
-            <remarks>N/A</remarks>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.FxCop">
-            <summary>
-            Uses FxCop to analyse managed code assemblies and reports on
-            their design best-practice compliance.
-            </summary>
-            <example>
-            <para>Shows how to analyse an assembly and use an XSLT stylesheet 
-            to present the report as an HTML file. If the static anlysis fails,
-            the build does not stop - this is controlled with the <c>FailOnError</c>
-            parameter.</para>
-            <code><![CDATA[
-            <FxCop 
-              TargetAssemblies="$(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.dll"
-              RuleLibraries="@(FxCopRuleAssemblies)" 
-              Rules="Microsoft.Design#CA1012;-Microsoft.Performance#CA1805"
-              AnalysisReportFileName="Test.html"
-              DependencyDirectories="$(MSBuildCommunityTasksPath)"
-              FailOnError="False"
-              ApplyOutXsl="True"
-              OutputXslFileName="C:\Program Files\Microsoft FxCop 1.32\Xml\FxCopReport.xsl"
-            />
-            ]]></code>
-            </example>
-            <remarks>If you include the <c>MSBuild.Community.Tasks.Targets</c> file 
-            in you build project, the ItemGroup <c>@(FxCopRuleAssemblies)</c> is defined
-            with the standard FxCop Rules Assemblies.</remarks>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.FxCop.Execute">
-            <summary>
-            Executes the task.
-            </summary>
-            <returns><see langword="true"/> if the task ran successfully; 
-            otherwise <see langword="false"/>.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.FxCop.GenerateFullPathToTool">
-            <summary>
-            Returns the fully qualified path to the executable file.
-            </summary>
-            <returns>
-            The fully qualified path to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.FxCop.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments 
-            to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass 
-            directly to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.FxCop.ValidateParameters">
-            <summary>
-            Indicates whether all task paratmeters are valid. 
-            </summary>
-            <returns>true if all task parameters are valid; otherwise, false</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.FxCop.GetWorkingDirectory">
-            <summary>
-            Returns the directory in which to run the executable file.
-            </summary>
-            <returns>
-            The directory in which to run the executable file, 
-            or a null reference (Nothing in Visual Basic) if the executable file 
-            should be run in the current directory.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FxCop.SearchGac">
-            <summary>
-            Tells FxCop to search the GAC for assembly references. This parameter was added in FxCop 1.35
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FxCop.ApplyOutXsl">
-            <summary>
-            Applies the XSL transformation specified in /outXsl to the 
-            analysis report before saving the file.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FxCop.DirectOutputToConsole">
-            <summary>
-            Directs analysis output to the console or to the 
-            Output window in Visual Studio .NET. By default, 
-            the XSL file FxCopConsoleOutput.xsl is applied to the 
-            output before it is displayed.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FxCop.DependencyDirectories">
-            <summary>
-            Specifies additional directories to search for assembly dependencies. 
-            FxCopCmd always searches the target assembly directory and the current 
-            working directory.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FxCop.TargetAssemblies">
-            <summary>
-            Specifies the target assembly to analyze.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FxCop.ConsoleXslFileName">
-            <summary>
-            Specifies the XSL or XSLT file that contains a transformation to 
-            be applied to the analysis output before it is displayed in the console.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FxCop.ImportFiles">
-            <summary>
-            Specifies the name of an analysis report or project file to import. 
-            Any messages in the imported file that are marked as excluded are not 
-            included in the analysis results.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FxCop.CustomDictionary">
-            <summary>
-            Specifies the custom dictionary.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FxCop.RuleLibraries">
-            <summary>
-            Specifies the filename(s) of FxCop rule assemblies
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FxCop.Rules">
-            <summary>
-            The list of rules to run
-            </summary>
-            <remarks>Rule names should be provided using the format Library#RuleNumber. For example <c>Microsoft.Design#CA1012</c>
-            <para>Place a single hyphen (-) in front of the rule name to exclude it. For example <c>-Microsoft.Performance#CA1805</c></para>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FxCop.AnalysisReportFileName">
-            <summary>
-            Specifies the file name for the analysis report.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FxCop.OutputXslFileName">
-            <summary>
-            Specifies the XSL or XSLT file that is referenced by the 
-            xml-stylesheet processing instruction in the analysis report.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FxCop.PlatformDirectory">
-            <summary>
-            Specifies the location of the version of Mscorlib.dll 
-            that was used when building the target assemblies if this 
-            version is not installed on the computer running FxCopCmd.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FxCop.ProjectFile">
-            <summary>
-            Specifies the filename of FxCop project file.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FxCop.IncludeSummaryReport">
-            <summary>
-            Includes a summary report with the informational 
-            messages returned by FxCopCmd.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FxCop.TypeList">
-            <summary>
-            Comma-separated list of type names to analyze.  This option disables 
-            analysis of assemblies, namespaces, and resources; only the specified 
-            types and their members are included in the analysis.  
-            Use the wildcard character '*' at the end of the name to select multiple types.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FxCop.SaveResults">
-            <summary>
-            Saves the results of the analysis in the project file.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FxCop.WorkingDirectory">
-            <summary>
-            Gets or sets the working directory.
-            </summary>
-            <value>The working directory.</value>
-            <returns>
-            The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FxCop.Verbose">
-            <summary>
-            Gets or sets a value indicating whether the output is verbose.
-            </summary>
-            <value><c>true</c> if verbose; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FxCop.FailOnError">
-            <summary>
-            Gets or sets a value indicating whether the build should
-            fail if static code analysis reports errors. Defaults to 
-            <c>true</c>.
-            </summary>
-            <value><c>true</c> if verbose; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.FxCop.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <value></value>
-            <returns>The name of the executable file to run.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.ServiceActions">
-            <summary>
-            Defines the actions that can be performed on a service.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.ServiceActions.Start">
-            <summary>
-            Starts a service.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.ServiceActions.Stop">
-            <summary>
-            Stops a service.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.ServiceActions.Restart">
-            <summary>
-            Restarts a service.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.ServiceActions.Pause">
-            <summary>
-            Pauses a running service.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.ServiceActions.Continue">
-            <summary>
-            Continues a paused service.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.ServiceController">
-            <summary>
-            Task that can control a Windows service.
-            </summary>
-            <example>
-            <para>Restart Web Server</para>
-            <code><![CDATA[
-            <ServiceController ServiceName="w3svc" Action="Restart" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.ServiceQuery">
-            <summary>
-            Task that can determine the status of a specified service
-            on a target server.
-            </summary>
-            <example>
-            <para>Check status of SQL Server</para>
-            <code><![CDATA[
-            <ServiceQuery ServiceName="MSSQLServer">
-                <Output TaskParameter="Status" PropertyName="ResultStatus" />
-            </ServiceQuery>
-            <Message Text="MSSQLServer Service Status: $(ResultStatus)"/>
-            ]]></code>
-            </example>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.ServiceQuery.UNKNOWN_STATUS">
-            <summary>
-            The unknown <see cref="P:MSBuild.Community.Tasks.ServiceQuery.Status"/>
-            returned when the service does not exist.
-            The value is "Unknown".
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.ServiceQuery.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:ServiceQuery"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.ServiceQuery.Execute">
-            <summary>
-            Executes the task.
-            </summary>
-            <returns><see langword="true"/> if the task ran successfully; 
-            otherwise <see langword="false"/>.</returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.ServiceQuery.GetServiceController">
-            <summary>
-            Gets the service controller.
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ServiceQuery.ServiceName">
-            <summary>
-            Gets or sets the name of the service.
-            </summary>
-            <value>The name of the service.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ServiceQuery.MachineName">
-            <summary>
-            Gets or sets the name of the machine.
-            </summary>
-            <value>The name of the machine.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ServiceQuery.Status">
-            <summary>
-            Gets or sets the status.
-            </summary>
-            <value>The status of the service.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ServiceQuery.CanPauseAndContinue">
-            <summary>
-            Gets a value indicating whether the service can be paused and resumed.
-            </summary>
-            <value>
-            	<c>true</c> if this instance can pause and continue; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ServiceQuery.CanShutdown">
-            <summary>
-            Gets a value indicating whether the service should be notified when the system is shutting down. 
-            </summary>
-            <value>
-            	<c>true</c> if this instance can shutdown; otherwise, <c>false</c>.
-            </value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ServiceQuery.CanStop">
-            <summary>
-            Gets a value indicating whether the service can be stopped after it has started. 
-            </summary>
-            <value><c>true</c> if this instance can stop; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ServiceQuery.DisplayName">
-            <summary>
-            Gets a friendly name for the service. 
-            </summary>
-            <value>The name of the display.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ServiceQuery.Exists">
-            <summary>
-            Gets a value indicating whether the service exists.
-            </summary>
-            <value><c>true</c> if the service exists; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.ServiceController.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:ServiceController"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.ServiceController.Execute">
-            <summary>
-            Executes the task.
-            </summary>
-            <returns><see langword="true"/> if the task ran successfully; 
-            otherwise <see langword="false"/>.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ServiceController.Action">
-            <summary>
-            Gets or sets the <see cref="T:ServiceActions"/> to perform on the service.
-            </summary>
-            <value>The action to perform on the service.</value>
-            <enum cref="T:MSBuild.Community.Tasks.ServiceActions"/>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.ServiceController.Timeout">
-            <summary>
-            Gets or sets the timeout for the command. The default is
-            one minute.
-            </summary>
-            <value>The timeout for the command.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.IIS.AppPoolCreate">
-            <summary>
-            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 <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.Username"/> and <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.Password"/> for the task
-            to run under.
-            </summary>
-            <example>Create a new application pool on the local machine.
-            <code><![CDATA[
-            <AppPoolCreate AppPoolName="MyAppPool" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.IIS.AppPoolCreate.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            True if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.ApplicationPoolName">
-            <summary>
-            Gets or sets the name of the application pool.
-            </summary>
-            <value>The name of the application pool.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.AppPoolAutoStart">
-            <summary>
-            The AppPoolAutoStart property indicates to the World Wide Web Publishing Service (WWW service)
-            to automatically start an application pool when the application pool is created or when IIS
-            is started, if the value of this property is set to true.
-            </summary>
-            <value>Value indicating if AppPoolAutoStart is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.AppPoolIdentityType">
-            <summary>
-            The AppPoolIdentityType property allows application pools to run as a specific user account:
-            
-            0 - The application pool runs as NT AUTHORITY\SYSTEM.
-            1 - The application pool runs as NT AUTHORITY\LOCAL SERVICE.
-            2 - The application pool runs as NT AUTHORITY\NETWORK SERVICE.
-            3 - The application pool runs as a specific user account, defined by the <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.WAMUserName"/> property.
-            </summary>
-            <value>Value indicating the application pool identity type.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.AppPoolQueueLength">
-            <summary>
-            The AppPoolQueueLength property indicates to the Universal Listener how many requests
-            to queue up for an application pool before rejecting future requests. When the limit
-            for this property is exceeded, IIS rejects the additional requests with a 503 error.
-            </summary>
-            <value>Value indicating the application pool queue length.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.AutoShutdownAppPoolExe">
-            <summary>
-            The AutoShutdownAppPoolExe property specifies an executable to run when the World Wide Web
-            Publishing Service (WWW service) shuts down an application pool for rapid fail protection. You
-            can use the <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.AutoShutdownAppPoolParams"/> property to send parameters to the executable.
-            </summary>
-            <value>Value indicating the application pool auto shutdown executable.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.AutoShutdownAppPoolParams">
-            <summary>
-            The AutoShutdownAppPoolParams property specifies any command-line parameters for the executable that
-            is specified in the AutoShutdownAppPoolExe property. You can use these two properties in the following
-            way to send e-mail, for example, when the World Wide Web Publishing Service (WWW service) shuts down
-            an application pool for rapid fail protection:
-            
-            AutoShutdownAppPoolExe = "C:\LogAndSendMail.bat"
-            AutoShutdownAppPoolParams = "-AppPoolName %1%"
-            
-            where %1% represents the application pool name.
-            </summary>
-            <value>Value indicating the parameters for the application pool auto shutdown executable.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.CPUAction">
-            <summary>
-            The CPUAction property configures the action(s) that IIS takes when Microsoft Windows NT ® job objects
-            run. Only one Windows NT job object exists per application pool, therefore the CPUAction property
-            is configured on a per application pool basis.
-            
-            Possible values:
-            0 - No action is taken except that a warning is written to the event log when the CPU limit is exceeded.
-            1 - Application pool worker processes that exceed their CPU limit will be forced to shut down.
-            </summary>
-            <value>Value indicating the CPU action.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.CPULimit">
-            <summary>
-            The CPULimit property configures the maximum percentage of CPU resources that worker processes
-            in an application pool are allowed to consume over a period of time, as indicated by the
-            <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.CPUResetInterval"/> property. Set this property by specifying a percentage of CPU
-            usage, multiplied by 1000. For example, if you want the CPU usage limit to be 50%, set CPULimit to 50,000.
-            </summary>
-            <value>Value indicating the CPU limit.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.CPUResetInterval">
-            <summary>
-            The CPUResetInterval property specifies the reset period (in minutes) for CPU monitoring and
-            throttling limits on the application pool. When the number of minutes elapsed since the last
-            process accounting reset equals the number specified by this property, IIS will reset the CPU
-            timers for both the logging and limit intervals. Setting the value of this property to 0
-            disables CPU monitoring.
-            </summary>
-            <value>Value indicating the CPU reset interval.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.DisallowOverlappingRotation">
-            <summary>
-            The DisallowOverlappingRotation property specifies whether or not the World Wide Web Publishing
-            Service (WWW Service) should start up another worker process to replace the existing worker
-            process while it is shutting down.
-            </summary>
-            <value>Value indicating the DisallowOverlappingRotation.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.DisallowRotationOnConfigChange">
-            <summary>
-            The DisallowRotationOnConfigChange property specifies whether or not the World Wide Web Publishing
-            Service (WWW Service) should rotate worker processes in an application pool when the configuration
-            has changed. This means that the worker processes will not pick up application pool changes to
-            values passed to the worker process, such as <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.IdleTimeout"/> and <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.PeriodicRestartRequests"/>.
-            </summary>
-            <value>Value indicating the DisallowRotationOnConfigChange.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.IdleTimeout">
-            <summary>
-            The IdleTimeout property specifies how long (in minutes) a worker process should run idle if no new
-            requests are received and the worker process is not processing requests. After the allotted time
-            passes, the worker process should request to be shut down by the World Wide Web Publishing Service (WWW Service).
-            </summary>
-            <value>Value indicating the idle timeout.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.LoadBalancerCapabilities">
-            <summary>
-            The LoadBalancerCapabilities property specifies behavior when a service is unavailable. A setting of 1
-            terminates the connection. A setting of 2 sends error code 503.
-            </summary>
-            <value>Value indicating the load balancer capabilities.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.LogEventOnRecycle">
-            <summary>
-            The LogEventOnRecycle property specifies that IIS should log an event when an application pool is
-            recycled. Application pools recycle for a variety of reasons. In order for IIS to log the event, the
-            LogEventOnRecycle property must have a bit set corresponding to the reason for the recycle.
-            </summary>
-            <value>Value indicating which recycle events to log.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.LogonMethod">
-            <summary>
-            The LogonMethod property contains an integer that specifies the logon method for cleartext 
-            logons. Valid settings are:
-            
-            0 for interactive logon.
-            1 for batch logon.
-            2 for network logon.
-            3 for cleartext logon.
-            </summary>
-            <value>Value indicating the logon method.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.MaxProcesses">
-            <summary>
-            The MaxProcesses property determines the maximum number of worker processes an application pool
-            allows to service requests for an application pool. This property cannot be set to 0 because there
-            are no unmanaged pools.
-            </summary>
-            <value>Value indicating the maximum number of worker processes allowed by the application pool.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.OrphanActionExe">
-            <summary>
-            The OrphanActionExe property specifies an executable to run when the World Wide Web Publishing
-            Service (WWW service) orphans a worker process. You can use the <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.OrphanActionParams"/> property
-            to send parameters to the executable.
-            </summary>
-            <value>The value for the orphan action executable.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.OrphanActionParams">
-            <summary>
-            The OrphanActionParams property specifies command-line parameters for the executable
-            specified by the <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.OrphanActionExe"/> property.
-            </summary>
-            <value>Value indicating the orphan action parameters.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.OrphanWorkerProcess">
-            <summary>
-            The OrphanWorkerProcess property, when set to true, notifies the World Wide Web Publishing
-            Service (WWW Service) not to terminate a worker process that fails to respond to pings, but
-            to instead orphan the worker process in the application pool if the worker process suffers
-            fatal errors.
-            </summary>
-            <value>Value indicating the orphan worker process.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.PeriodicRestartMemory">
-            <summary>
-            The PeriodicRestartMemory property specifies the amount of virtual memory (in KB) that a
-            worker process can use before the worker process recycles. The maximum value supported
-            for this property is 4,294,967 KB.
-            </summary>
-            <value>Value indicating the amount of memory.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.PeriodicRestartPrivateMemory">
-            <summary>
-            The PeriodicRestartPrivateMemory property specifies the amount of private memory (in KB) that a
-            worker process can use before the worker process recycles. The maximum value supported
-            for this property is 4,294,967 KB.
-            </summary>
-            <value>Value indicating the amount of memory.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.PeriodicRestartRequests">
-            <summary>
-            The PeriodicRestartRequests property indicates the number of requests the OOP application
-            should process, after which it is recycled.
-            </summary>
-            <value>Value indicating the number of requests.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.PeriodicRestartSchedule">
-            <summary>
-            The PeriodicRestartSchedule property specifies the time (in 24 hour format) that the application
-            will be rotated. Each time is in local time and is specified in the following format:
-            
-            PeriodicRestartSchedule="hh:mm,hh:mm,hh:mm"
-            </summary>
-            <value>Value indicating the restart schedule.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.PeriodicRestartTime">
-            <summary>
-            The PeriodicRestartTime property specifies the period of time, in minutes, after which IIS
-            rotates an isolated OOP application. Setting the value of this property to 0 disables the
-            property. The maximum supported value for this property is 71,582.
-            </summary>
-            <value>Value indicating the restart time period.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.PingingEnabled">
-            <summary>
-            The PingingEnabled property specifies whether the World Wide Web Publishing Service
-            (WWW Service) should periodically monitor the health of a worker process. Setting the
-            value of this property to true indicates to the WWW service to monitor the worker
-            processes to ensure that the they are running and healthy.
-            </summary>
-            <value>Value indicating if pinging is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.PingInterval">
-            <summary>
-            The PingInterval property specifies the period of time (in seconds) between health-monitoring
-            pings that the World Wide Web Publishing Service (WWW Service) sends to a worker process.
-            </summary>
-            <value>Value indicating the ping interval.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.PingResponseTime">
-            <summary>
-            The PingResponseTime property specifies the amount of time (in seconds) that a worker process
-            is given to respond to a health monitoring ping. After the time limit is exceeded, the World
-            Wide Web Publishing Service (WWW Service) terminates the worker process.
-            </summary>
-            <value>Value indicating the ping response time.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.RapidFailProtection">
-            <summary>
-            Setting the RapidFailProtection property to true instructs the World Wide Web Publishing
-            Service (WWW service) to put all applications in an application pool out of service if the
-            number of worker process crashes has reached the maximum specified by the
-            <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.RapidFailProtectionMaxCrashes"/> property, within the number of minutes specified
-            by the <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.RapidFailProtectionInterval"/> property.
-            </summary>
-            <value>Value indicating if rapid fail protection is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.RapidFailProtectionInterval">
-            <summary>
-            The RapidFailProtectionInterval property specifies the number of minutes before the failure
-            count for a process is reset. See <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.RapidFailProtection"/>.
-            </summary>
-            <value>Value indicating the rapid fail protection interval.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.RapidFailProtectionMaxCrashes">
-            <summary>
-            The RapidFailProtectionMaxCrashes property specifies the maximum number of failures
-            allowed within the number of minutes specified by the <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.RapidFailProtectionInterval"/> 
-            property. See <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.RapidFailProtection"/>.
-            </summary>
-            <value>Value indicating the maximum number of crashes.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.ShutdownTimeLimit">
-            <summary>
-            The ShutdownTimeLimit property specifies the amount of time (in seconds) after a recycle
-            threshold has been reached that IIS waits for all old requests to finish running in a worker
-            process before terminating the worker process.
-            </summary>
-            <value>Value indicating the shutdown time limit.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.SMPAffinitized">
-            <summary>
-            Setting the SMPAffinitized property to true indicates that a particular worker process
-            assigned to an application pool should be assigned to a given CPU. This property is used
-            in conjunction with the <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.SMPProcessorAffinityMask"/> property to configure a
-            particular processor a worker process will be assigned to.
-            </summary>
-            <value>Value indicating if SMPAffinitized is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.SMPProcessorAffinityMask">
-            <summary>
-            The SMPProcessorAffinityMask property configures the hexadecimal processor mask. The hexadecimal
-            processor mask indicates to which CPU the worker processes in an application pool should be
-            bound. Before this property takes affect, the <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.SMPAffinitized"/> property must be set
-            to true for the application pool. These properties cannot be set through IIS Manager.
-            
-            Do not set this property to zero. Doing so causes no SMP affinity to be configured, creating an
-            error condition. The default DWORD value is 4294967295 (or -1), which is represented in hexadecimal
-            as 0xFFFFFFFF. A value of 0xFFFFFFFF in SMPProcessorAffinityMask indicates that all processors are enabled.
-            </summary>
-            <value>Value indicating the SMP processor affinity bit mask.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.StartupTimeLimit">
-            <summary>
-            The value of the StartupTimeLimit property specifies the amount of time (in seconds) that the World Wide
-            Web Publishing Service (WWW Service) should wait for a worker process to finish starting up and
-            reporting to the WWW Service.
-            </summary>
-            <value>Value indicating the startup time limit.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.WAMUserName">
-            <summary>
-            The WAMUserName property specifies the account user name that IIS uses by default as the COM+
-            application identity for newly created IIS out-of-process applications. The values of this
-            property and its companion property, <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.WAMUserPass"/>, are set when IIS is installed, and
-            match the user name and password values in the Microsoft Windows user account, which is established
-            at the same time. Changing the value of this property is not recommended. If you do, change
-            it to a valid Windows user account, and change WAMUserPass to the corresponding password
-            for the new account.
-            
-            Important:
-            Changes to WAMUserName and WAMUserPass may disrupt the operation of existing IIS out-of-process
-            applications. You can synchronize application identities using Component Services to edit the
-            user name and password values, found on the Identity tab of the property sheet for each package.
-            
-            In-process applications are not affected by these property values.
-            </summary>
-            <value>Value indicating the username.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.WAMUserPass">
-            <summary>
-            The WAMUserPass property specifies the password for the account that IIS uses by default as the COM+
-            application identity for newly created IIS out-of-process applications. The values of this property
-            and its companion property, <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.WAMUserName"/>, are set when IIS is installed, and match the
-            password and user name values in the Microsoft Windows user account (IWAM_ MachineName, where MachineName
-            is the name of the machine on which IIS is installed) established at the same time.
-            
-            Important:
-            Changing the value of this property is not recommended. If you do, you must change the Windows account
-            password to the identical value. You must also synchronize existing IIS out-of-process application
-            identities, using Component Services to edit the user name and password values, which are found on the
-            Identity tab of the property sheet for each package.
-            
-            In-process applications are not affected by these property values.
-            </summary>
-            <value>Value indicating the password.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.IIS.WebDirectoryCreate">
-            <summary>
-            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 <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.Username"/>
-            and <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.Password"/> for the task to run under.
-            </summary>
-            <example>Create a new web directory on the local machine.
-            <code><![CDATA[
-            <WebDirectoryCreate VirtualDirectoryName="MyVirDir"
-                VirtualDirectoryPhysicalPath="C:\Inetpub\MyWebDir" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            True if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.VirtualDirectoryName">
-            <summary>
-            Gets or sets the name of the virtual directory.
-            </summary>
-            <value>The name of the virtual directory.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.VirtualDirectoryPhysicalPath">
-            <summary>
-            Gets or sets the virtual directory physical path.  The physical directory must
-            exist before this task executes.
-            </summary>
-            <value>The virtual directory physical path.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessExecute">
-            <summary>
-            Gets or sets a value that indicates if the file
-            or the contents of the folder may be executed, regardless of file type.
-            </summary>
-            <value>A value indicating if AccessExecute is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessNoRemoteExecute">
-            <summary>
-            A value of true indicates that remote requests to execute applications
-            are denied; only requests from the same computer as the IIS server succeed
-            if the AccessExecute property is set to true. You cannot set 
-            AccessNoRemoteExecute to false to enable remote requests, and set
-            <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessExecute"/> to false to disable local requests.
-            </summary>
-            <value>Value indicating if AccessNoRemoteExecute is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessNoRemoteRead">
-            <summary>
-            A value of true indicates that remote requests to view files are denied; only
-            requests from the same computer as the IIS server succeed if the <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessRead"/>
-            property is set to true. You cannot set <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessNoRemoteRead"/> to false to enable
-            remote requests, and set <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessRead"/> to false to disable local requests.
-            </summary>
-            <value>Value indicating if AccessNoRemoteRead is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessNoRemoteScript">
-            <summary>
-            A value of true indicates that remote requests to view dynamic content are denied; only
-            requests from the same computer as the IIS server succeed if the <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessScript"/> property
-            is set to true. You cannot set AccessNoRemoteScript to false to enable remote requests, 
-            and set <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessScript"/> to false to disable local requests.
-            </summary>
-            <value>Value indicating if AccessNoRemoteScript is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessNoRemoteWrite">
-            <summary>
-            A value of true indicates that remote requests to create or change files are denied; only
-            requests from the same computer as the IIS server succeed if the <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessWrite"/> property
-            is set to true. You cannot set AccessNoRemoteWrite to false to enable remote requests, 
-            and set <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessWrite"/> to false to disable local requests.
-            </summary>
-            <value>Value indicating if AccessNoRemoteWrite is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessRead">
-            <summary>
-            A value of true indicates that the file or the contents of the folder may be read
-            through Microsoft Internet Explorer.
-            </summary>
-            <value>Value indicating if AccessRead is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessSource">
-            <summary>
-            A value of true indicates that users are allowed to access source code if either
-            Read or Write permissions are set. Source code includes scripts in Microsoft ® Active
-            Server Pages (ASP) applications.
-            </summary>
-            <value>Value indicating if AccessSource is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessScript">
-            <summary>
-            A value of true indicates that the file or the contents of the folder may be executed
-            if they are script files or static content. A value of false only allows static files, 
-            such as HTML files, to be served.
-            </summary>
-            <value>Value indicating if AccessScript is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessSsl">
-            <summary>
-            A value of true indicates that file access requires SSL file permission processing, with
-            or without a client certificate.
-            </summary>
-            <value>Value indicating if AccessSsl is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessSsl128">
-            <summary>
-            A value of true indicates that file access requires SSL file permission processing
-            with a minimum key size of 128 bits, with or without a client certificate.
-            </summary>
-            <value>Value indicating if AccessSsl128 is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessSslMapCert">
-            <summary>
-            A value of true indicates that SSL file permission processing maps a client certificate
-            to a Microsoft Windows ® operating system user-account. The <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessSslNegotiateCert"/> property
-            must also be set to true for the mapping to occur.
-            </summary>
-            <value>Value indicating if AccessSslMapCert is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessSslNegotiateCert">
-            <summary>
-            A value of true indicates that SSL file access processing requests a certificate from
-            the client. A value of false indicates that access continues if the client does not have
-            a certificate. Some versions of Internet Explorer will close the connection if the server
-            requests a certificate and a certificate is not available (even if <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessSslRequireCert"/> 
-            is also set to true).
-            </summary>
-            <value>Value indicating if AccessSslNegotiateCert is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessSslRequireCert">
-            <summary>
-            A value of true indicates that SSL file access processing requests a certificate from the
-            client. If the client provides no certificate, the connection is closed. <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessSslNegotiateCert"/> 
-            must also be set to true when using AccessSSLRequireCert.
-            </summary>
-            <value>Value indicating if AccessSslRequireCert is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessWrite">
-            <summary>
-            A value of true indicates that users are allowed to upload files and their associated
-            properties to the enabled directory on your server or to change content in a Write-enabled
-            file. Write can be implemented only with a browser that supports the PUT feature of
-            the HTTP 1.1 protocol standard.
-            </summary>
-            <value>Value indicating if AccessWrite is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AnonymousPasswordSync">
-            <summary>
-            The AnonymousPasswordSync property indicates whether IIS should handle the user password
-            for anonymous users attempting to access resources.
-            </summary>
-            <value>Value indicating if AnonymousPasswordSync is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AppAllowClientDebug">
-            <summary>
-            The AppAllowClientDebug property specifies whether ASP client-side debugging
-            is enabled. This property is independent of <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AppAllowDebugging"/>, which
-            applies to server-side debugging.
-            </summary>
-            <value>Value indicating if AppAllowClientDebug is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AppAllowDebugging">
-            <summary>
-            The AppAllowDebugging property specifies whether ASP debugging is enabled on
-            the server. This property is independent of the <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AppAllowClientDebug"/> property, 
-            which applies to client-side debugging.
-            </summary>
-            <value>Value indicating if AppAllowDebugging is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspAllowSessionState">
-            <summary>
-            The AspAllowSessionState property enables session state persistence for the ASP application.
-            </summary>
-            <value>Value indicating if the AspAllowSessionState is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspBufferingOn">
-            <summary>
-            The AspBufferingOn property specifies whether output from an ASP application will be buffered.
-            </summary>
-            <value>Value indicating if the AspBufferingOn is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspEnableApplicationRestart">
-            <summary>
-            The AspEnableApplicationRestart determines whether an ASP application can be
-            automatically restarted. When changes are made to Global.asa or metabase properties
-            that affect an application, the application will not restart unless the
-            AspEnableApplicationRestart property is set to true.
-            </summary>
-            <value>Value indicating if AspEnableApplicationRestart is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspEnableAspHtmlFallback">
-            <summary>
-            The AspEnableAspHtmlFallback property controls the behavior of ASP when a
-            new request is to be rejected due to a full request queue.
-            </summary>
-            <value>Value indicating if AspEnableAspHtmlFallback is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspEnableChunkedEncoding">
-            <summary>
-            The AspEnableChunkedEncoding property specifies whether HTTP 1.1 chunked
-            transfer encoding is enabled for the World Wide Web Publishing Service (WWW service).
-            </summary>
-            <value>Value indicating if AspEnableChunkedEncoding is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspErrorsToNTLog">
-            <summary>
-            The AspErrorsToNTLog property specifies which ASP errors are written to the
-            Windows event log. ASP errors are written to the client browser and to the IIS
-            log files by default.
-            </summary>
-            <value>Value indicating if AspErrorsToNTLog is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspEnableParentPaths">
-            <summary>
-            The AspEnableParentPaths property specifies whether an ASP page allows paths
-            relative to the current directory (using the ..\ notation) or above the current directory.
-            </summary>
-            <value>Value indicating if AspEnableParentPaths is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspEnableTypelibCache">
-            <summary>
-            The AspEnableTypelibCache property specifies whether type libraries are cached
-            on the server. The World Wide Web Publishing Service (WWW service) setting for
-            this property is applicable to all in-process and pooled out-of-process application
-            nodes, at all levels. Metabase settings at the Web server level or lower are ignored
-            for in-process and pooled out-of-process applications. However, settings at the Web
-            server level or lower are used if that node is an isolated out-of-process application.
-            </summary>
-            <value>Value indicating if AspEnableTypelibCache is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspExceptionCatchEnable">
-            <summary>
-            The AspExceptionCatchEnable property specifies whether ASP pages trap exceptions
-            thrown by components.
-            </summary>
-            <value>Value indicating if AspExceptionCatchEnable is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspLogErrorRequests">
-            <summary>
-            The AspLogErrorRequests property controls whether the Web server writes ASP errors
-            to the application section of the Windows event log. ASP errors are written to the
-            client browser and to the IIS log files by default.
-            </summary>
-            <value>Value indicating if AspLogErrorRequests is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspScriptErrorSentToBrowser">
-            <summary>
-            The AspScriptErrorSentToBrowser property specifies whether the Web server writes
-            debugging specifics (file name, error, line number, description) to the client
-            browser, in addition to logging them to the Windows Event Log. The <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspScriptErrorMessage"/> 
-            property provides the error message to be sent if this property is set to false.
-            </summary>
-            <value>Value indicating if AspScriptErrorSentToBrowser is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspTrackThreadingModel">
-            <summary>
-            The AspTrackThreadingModel property specifies whether IIS checks the threading model
-            of any components (COM objects) that your application creates. The preferred setting
-            of this metabase property is false.
-            </summary>
-            <value>Value indicating if AspTrackThreadingModel is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AuthAnonymous">
-            <summary>
-            Specifies Anonymous authentication as one of the possible Windows authentication
-            schemes returned to clients as being available.
-            </summary>
-            <value>Value indicating if AuthAnonymous is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AuthBasic">
-            <summary>
-            Specifies Basic authentication as one of the possible Windows authentication
-            schemes returned to clients as being available.
-            </summary>
-            <value>Value indicating if AuthBasic is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AuthNtlm">
-            <summary>
-            Specifies Integrated Windows authentication (also known as Challenge/Response or
-            NTLM authentication) as one of the possible Windows authentication schemes
-            returned to clients as being available.
-            </summary>
-            <value>Value indicating if AuthNtlm is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AuthPersistSingleRequest">
-            <summary>
-            Setting this flag to true specifies that authentication persists only for a single
-            request on a connection. IIS resets the authentication at the end of each request, and
-            forces re-authentication on the next request of the session.
-            </summary>
-            <value>Value indicating if AuthPersistSingleRequest is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AuthPersistSingleRequestIfProxy">
-            <summary>
-            Setting this flag to true specifies authentication will persist only across single
-            requests on a connection if the connection is by proxy. IIS will reset the authentication
-            at the end of the request if the current authenticated request is by proxy and it is
-            not the special case where IIS is running MSPROXY.
-            </summary>
-            <value>Value indicating if AuthPersistSingleRequestIfProxy is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AuthPersistSingleRequestAlwaysIfProxy">
-            <summary>
-            Setting this flag to true specifies that authentication is valid for a single request if
-            by proxy. IIS will reset the authentication at the end of the request and force
-            re-authentication on the next request if the current authenticated request is by
-            proxy of any type.
-            </summary>
-            <value>Value indicating if AuthPersistSingleRequestAlwaysIfProxy is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.CacheControlNoCache">
-            <summary>
-            The CacheControlNoCache property specifies the HTTP 1.1 directive to prevent caching of content.
-            </summary>
-            <value>Value indicating if CacheControlNoCache is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.CacheIsapi">
-            <summary>
-            The CacheISAPI property indicates whether ISAPI extensions are cached in memory after first use.
-            </summary>
-            <value>Value indicating if CacheIsapi is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.ContentIndexed">
-            <summary>
-            The ContentIndexed property specifies whether the installed content indexer should
-            index content under this directory tree.
-            </summary>
-            <value>Value indicating if ContentIndexed is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.CpuAppEnabled">
-            <summary>
-            This property specifies whether process accounting and throttling should be performed
-            for ISAPI extensions and ASP applications. To perform process accounting on CGI
-            applications, use the property <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.CpuCgiEnabled"/>.
-            </summary>
-            <value>Value indicating if CpuAppEnabled is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.CpuCgiEnabled">
-            <summary>
-            This property indicates whether IIS should perform process accounting for CGI
-            applications. To effectively throttle CGI applications, use the CgiTimeout
-            property. To use process accounting for ISAPI and ASP applications, use <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.CpuAppEnabled"/>.
-            </summary>
-            <value>Value indicating if CpuCgiEnabled is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.CreateCgiWithNewConsole">
-            <summary>
-            The CreateCGIWithNewConsole property indicates whether a CGI application runs in its own console.
-            </summary>
-            <value>Value indicating if CreateCgiWithNewConsole is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.CreateProcessAsUser">
-            <summary>
-            The CreateProcessAsUser property specifies whether a CGI process is created in the system context or in the context of the requesting user.
-            </summary>
-            <value>Value indicating if CreateProcessAsUser is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.DirBrowseShowDate">
-            <summary>
-            When set to true, date information is displayed when browsing directories.
-            </summary>
-            <value>Value indicating if DirBrowseShowDate is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.DirBrowseShowExtension">
-            <summary>
-            When set to true, file name extensions are displayed when browsing directories.
-            </summary>
-            <value>Value indicating if DirBrowseShowExtension is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.DirBrowseShowLongDate">
-            <summary>
-            When set to true, date information is displayed in extended format when displaying directories.
-            </summary>
-            <value>Value indicating if DirBrowseShowLongDate is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.DirBrowseShowSize">
-            <summary>
-            When set to true, file size information is displayed when browsing directories.
-            </summary>
-            <value>Value indicating if DirBrowseShowSize is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.DirBrowseShowTime">
-            <summary>
-            When set to true, file time information is displayed when displaying directories.
-            </summary>
-            <value>Value indicating if DirBrowseShowTime is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.DontLog">
-            <summary>
-            The DontLog property specifies whether client requests are written to the IIS log files.
-            </summary>
-            <value>Value indicating if DontLog is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.EnableDefaultDoc">
-            <summary>
-            When set to true, the default document (specified by the <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.DefaultDoc"/> property) for
-            a directory is loaded when the directory is browsed.
-            </summary>
-            <value>Value indicating if EnableDefaultDoc is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.EnableDirBrowsing">
-            <summary>
-            When set to true, directory browsing is enabled.
-            </summary>
-            <value>Value indicating if EnableDirBrowsing is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.EnableDocFooter">
-            <summary>
-            The EnableDocFooter property enables or disables custom footers specified by
-            the DefaultDocFooter property.
-            </summary>
-            <value>Value indicating if EnableDocFooter is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.EnableReverseDns">
-            <summary>
-            The EnableReverseDns property enables or disables reverse Domain Name Server (DNS) lookups
-            for the World Wide Web Publishing Service (WWW service). Reverse lookups involve looking
-            up the domain name when the IP address is known. Reverse DNS lookups can use significant
-            resources and time.
-            </summary>
-            <value>Value indicating if EnableReverseDns is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.SsiExecDisable">
-            <summary>
-            The SSIExecDisable property specifies whether server-side include (SSI) #exec directives
-            are disabled under this path.
-            </summary>
-            <value>Value indicating if SsiExecDisable is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.UncAuthenticationPassthrough">
-            <summary>
-            The UNCAuthenticationPassthrough property enables user authentication passthrough
-            for Universal Naming Convention (UNC) virtual root access (for authentication schemes
-            that support delegation).
-            </summary>
-            <value>Value indicating if UncAuthenticationPassthrough is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspScriptErrorMessage">
-            <summary>
-            The AspScriptErrorMessage property specifies the error message to send to the browser
-            if specific debugging errors are not sent to the client (if <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspScriptErrorSentToBrowser"/> 
-            is set to false).
-            </summary>
-            <value>Value indicating if AspScriptErrorMessage is enabled or disabled.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.DefaultDoc">
-            <summary>
-            The DefaultDoc contains one or more file names of default documents that will be returned
-            to the client if no file name is included in the client's request. The default document
-            will be returned if the <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.EnableDefaultDoc"/> flag of the DirBrowseFlags property
-            is set to true for the directory. This property can contain a list of default document
-            file names separated by a comma and a space, for example Default.htm, Default.asp.
-            </summary>
-            <value>Listing of the default documents for the web application.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.IIS.AppPoolDelete">
-            <summary>
-            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 <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.Username"/> and <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.Password"/> for the task
-            to run under.
-            </summary>
-            <example>Delete an existing application pool on the local machine.
-            <code><![CDATA[
-            <AppPoolDelete AppPoolName="MyAppPool" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.IIS.AppPoolDelete.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            True if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolDelete.ApplicationPoolName">
-            <summary>
-            Gets or sets the name of the application pool.
-            </summary>
-            <value>The name of the application pool.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.IIS.WebDirectoryDelete">
-            <summary>
-            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 <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.Username"/> and <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.Password"/> for the
-            task to run under.
-            </summary>
-            <example>Deletes a web directory on the local machine.
-            <code><![CDATA[
-            <WebDirectoryDelete VirtualDirectoryName="MyVirDir" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.IIS.WebDirectoryDelete.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            True if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryDelete.VirtualDirectoryName">
-            <summary>
-            Gets or sets the name of the virtual directory.
-            </summary>
-            <value>The name of the virtual directory.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.IIS.AppPoolControllerActions">
-            <summary>
-            Actions the <see cref="T:MSBuild.Community.Tasks.IIS.AppPoolController"/> can do.
-            </summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.IIS.AppPoolControllerActions.Start">
-            <summary>Start the applicaiton pool</summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.IIS.AppPoolControllerActions.Stop">
-            <summary>Stop the applicaiton pool</summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.IIS.AppPoolControllerActions.Restart">
-            <summary>Restart the applicaiton pool</summary>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.IIS.AppPoolControllerActions.Recycle">
-            <summary>Recycle the applicaiton pool</summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.IIS.AppPoolController">
-            <summary>
-            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 <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.Username"/> and <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.Password"/> for the task
-            to run under.
-            </summary>
-            <example>Restart an application pool on the local machine.
-            <code><![CDATA[
-            <AppPoolController AppPoolName="MyAppPool" Action="Restart" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.IIS.AppPoolController.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            True if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolController.ApplicationPoolName">
-            <summary>
-            Gets or sets the name of the app pool.
-            </summary>
-            <value>The name of the app pool.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolController.Action">
-            <summary>
-            Gets or sets the application pool action.
-            </summary>
-            <value>The application pool action.</value>
-            <enum cref="T:MSBuild.Community.Tasks.IIS.AppPoolControllerActions"/>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Mail">
-            <summary>
-            Sends an email message
-            </summary>
-            <example>Example of sending an email.
-            <code><![CDATA[
-            <Target Name="Mail">
-                <Mail SmtpServer="localhost"
-                    To="user@email.com"
-                    From="from@email.com"
-                    Subject="Test Mail Task"
-                    Body="This is a test of the mail task." />
-            </Target>
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Mail.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Mail"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Mail.Execute">
-            <summary>Sends an email message</summary>
-            <returns>Returns true if successful</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Mail.Attachments">
-            <summary>
-            List of files to attach to message
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Mail.Bcc">
-            <summary>
-            List of addresss that contains the blind carbon copy (BCC) recipients for this e-mail message
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Mail.CC">
-            <summary>
-            List of addresss that contains the carbon copy (CC) recipients for this e-mail message
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Mail.Body">
-            <summary>
-            The email message body
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Mail.From">
-            <summary>
-            The from address for this e-mail message
-            </summary>
-            <remarks>
-            This property is required.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Mail.IsBodyHtml">
-            <summary>
-            A value indicating whether the mail message body is in Html
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Mail.Priority">
-            <summary>
-            The priority of this e-mail message
-            </summary>
-            <remarks>
-            Possible values are High, Normal, and Low
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Mail.Subject">
-            <summary>
-            The subject line for this e-mail message
-            </summary>
-            <remarks>
-            This property is required.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Mail.SmtpServer">
-            <summary>
-            The name or IP address of the host used for SMTP transactions
-            </summary>
-            <remarks>
-            This property is required.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Mail.To">
-            <summary>
-            List of addresss that contains the recipients of this e-mail message
-            </summary>
-            <remarks>
-            This property is required.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Mail.Username">
-            <summary>
-            Gets or sets the username.
-            </summary>
-            <value>The username.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Mail.Password">
-            <summary>
-            Gets or sets the password.
-            </summary>
-            <value>The password.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Mail.EnableSsl">
-            <summary>
-            Specify whether the Mail task uses SSL to encrypt the connection.
-            </summary>
-            <value><c>true</c> if the Mail task uses SSL; otherwise <c>false</c>. The default value is <c>false</c>.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Math.Add">
-            <summary>
-            Add numbers
-            </summary>
-            <example>Adding numbers:
-            <code><![CDATA[
-            <Math.Add Numbers="4;3">
-                <Output TaskParameter="Result" PropertyName="Result" />
-            </Math.Add>
-            <Message Text="Add 4+3= $(Result)"/>
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Math.Add.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Math.Divide">
-            <summary>
-            Divide numbers
-            </summary>
-            <example>
-      <code>
-        <![CDATA[
-<Math.Divide Numbers="1;2">
-    <Output TaskParameter="Result" PropertyName="Result" />
-</Math.Divide>
-<Message Text="Divide 1/2= $(Result)"/>
-]]>
-      </code>
-      Above example will display:
-      <code>Divide 1/2= 0.5</code>
-    </example><example>
-      Truncate the result to always return an integer:
-      <code>
-        <![CDATA[
-<Math.Divide Numbers="7;3" TruncateResult="true">
-    <Output TaskParameter="Result" PropertyName="Result" />
-</Math.Divide>
-<Message Text="Divide 7/3= $(Result)"/>
-]]>
-      </code>
-      Above example will display:
-      <code>Divide 7/3= 2</code>
-    </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Math.Divide.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Math.Divide.TruncateResult">
-            <summary>
-            When <see langword="true"/>, uses integer division to truncate the result. Default is <see langword="false" />
-            </summary>
-            <remarks>
-            Any remainder in the result is dropped, and the closest integer to zero is returned.
-            <para>
-            Refer to the documentation for the <see href="http://msdn2.microsoft.com/library/0e16fywh.aspx">\ Operator</see>
-            for more information about integer division.
-            </para>
-            </remarks>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Math.Multiple">
-            <summary>
-            Multiple numbers
-            </summary>
-            <example>
-            <code><![CDATA[
-            <Math.Multiple Numbers="10;3">
-                <Output TaskParameter="Result" PropertyName="Result" />
-            </Math.Multiple>
-            <Message Text="Multiple 10*3= $(Result)"/>
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Math.Multiple.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Math.Subtract">
-            <summary>
-            Subtract numbers
-            </summary>
-            <example>
-            <code><![CDATA[
-            <Math.Subtract Numbers="10;3">
-                <Output TaskParameter="Result" PropertyName="Result" />
-            </Math.Subtract>
-            <Message Text="Subtract 10-3= $(Result)"/>
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Math.Subtract.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.MV">
-            <summary>
-            Moves files on the filesystem to a new location.
-            </summary>
-            <example>
-            <para>Move a file to another folder</para>
-            <code><![CDATA[
-            <MV SourceFiles="Test\MoveMe.txt"
-                DestinationFolder="Test\Move" />
-            ]]></code>
-            <para>Rename a file</para>
-            <code><![CDATA[
-            <MV SourceFiles="Test\Move\MoveMe.txt"
-                DestinationFiles="Test\Move\Renamed.txt" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.MV.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.MV.MovedFiles">
-            <summary>
-            Gets the items that were successfully moved.
-            </summary>
-            <value>The moved files.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.MV.DestinationFiles">
-            <summary>
-            Gets or sets the list of files to moved the source files to. 
-            </summary>
-            <remarks>
-            This list is expected to be a one-to-one mapping with the 
-            list specified in the SourceFiles parameter. That is, the 
-            first file specified in SourceFiles will be moved to the 
-            first location specified in DestinationFiles, and so forth.
-            </remarks>
-            <value>The destination files.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.MV.DestinationFolder">
-            <summary>
-            Gets or sets the directory to which you want to move the files.
-            </summary>
-            <value>The destination folder.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.MV.SourceFiles">
-            <summary>
-            Gets or sets the source files to move.
-            </summary>
-            <value>The source files to move.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.NDoc">
-            <summary>
-            Runs the NDoc application.
-            </summary>
-            <example>Generated html help file.
-            <code><![CDATA[
-            <NDoc Documenter="MSDN" 
-                ProjectFilePath="MSBuild.Community.Tasks.ndoc" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.NDoc.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:NDoc"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.NDoc.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.NDoc.GenerateFullPathToTool">
-            <summary>
-            Returns the fully qualified path to the executable file.
-            </summary>
-            <returns>
-            The fully qualified path to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.NDoc.LogToolCommand(System.String)">
-            <summary>
-            Logs the starting point of the run to all registered loggers.
-            </summary>
-            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.NDoc.GetWorkingDirectory">
-            <summary>
-            Returns the directory in which to run the executable file.
-            </summary>
-            <returns>
-            The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NDoc.Documenter">
-            <summary>
-            Gets or sets the documenter.
-            </summary>
-            <value>The documenter.</value>
-            <remarks>Available documenters are VS.NET_2003, JavaDoc, LaTeX, LinearHtml, MSDN, XML.</remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NDoc.ProjectFilePath">
-            <summary>
-            Gets or sets the project file path.
-            </summary>
-            <value>The project file path.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NDoc.Verbose">
-            <summary>
-            Gets or sets a value indicating whether the output is verbose.
-            </summary>
-            <value><c>true</c> if verbose; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NDoc.WorkingDirectory">
-            <summary>
-            Gets or sets the working directory.
-            </summary>
-            <value>The working directory.</value>
-            <returns>
-            The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NDoc.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <value></value>
-            <returns>The name of the executable file to run.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NDoc.StandardOutputLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
-            </summary>
-            <value></value>
-            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.NUnit">
-            <summary>
-            Run NUnit 2.4 on a group of assemblies.
-            </summary>
-            <example>Run NUnit tests.
-            <code><![CDATA[
-            <ItemGroup>
-                <TestAssembly Include="C:\Program Files\NUnit 2.4\bin\*.tests.dll" />
-            </ItemGroup>
-            <Target Name="NUnit">
-                <NUnit Assemblies="@(TestAssembly)" />
-            </Target>
-            ]]></code>
-            </example>
-        </member>
-        <member name="F:MSBuild.Community.Tasks.NUnit.DEFAULT_NUNIT_DIRECTORY">
-            <summary>
-            The default relative path of the NUnit installation.
-            The value is <c>@"NUnit 2.4\bin"</c>.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.NUnit.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:NUnit"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.NUnit.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.NUnit.GenerateFullPathToTool">
-            <summary>
-            Returns the fully qualified path to the executable file.
-            </summary>
-            <returns>
-            The fully qualified path to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.NUnit.LogToolCommand(System.String)">
-            <summary>
-            Logs the starting point of the run to all registered loggers.
-            </summary>
-            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.NUnit.GetWorkingDirectory">
-            <summary>
-            Returns the directory in which to run the executable file.
-            </summary>
-            <returns>
-            The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NUnit.Assemblies">
-            <summary>
-            Gets or sets the assemblies.
-            </summary>
-            <value>The assemblies.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NUnit.IncludeCategory">
-            <summary>
-            Gets or sets the categories to include.
-            </summary>
-            <remarks>Multiple values must be separated by a comma ","</remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NUnit.ExcludeCategory">
-            <summary>
-            Gets or sets the categories to exclude.
-            </summary>
-            <remarks>Multiple values must be separated by a comma ","</remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NUnit.Fixture">
-            <summary>
-            Gets or sets the fixture.
-            </summary>
-            <value>The fixture.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NUnit.XsltTransformFile">
-            <summary>
-            Gets or sets the XSLT transform file.
-            </summary>
-            <value>The XSLT transform file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NUnit.OutputXmlFile">
-            <summary>
-            Gets or sets the output XML file.
-            </summary>
-            <value>The output XML file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NUnit.ErrorOutputFile">
-            <summary>
-            The file to receive test error details.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NUnit.WorkingDirectory">
-            <summary>
-            Gets or sets the working directory.
-            </summary>
-            <value>The working directory.</value>
-            <returns>
-            The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NUnit.DisableShadowCopy">
-            <summary>
-            Determines whether assemblies are copied to a shadow folder during testing.
-            </summary>
-            <remarks>Shadow copying is enabled by default. If you want to test the assemblies "in place",
-            you must set this property to <c>True</c>.</remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NUnit.ProjectConfiguration">
-            <summary>
-            The project configuration to run.
-            </summary>
-            <remarks>Only applies when a project file is used. The default is the first configuration, usually Debug.</remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NUnit.TestInNewThread">
-            <summary>
-            Allows tests to be run in a new thread, allowing you to take advantage of ApartmentState and ThreadPriority settings in the config file.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NUnit.Force32Bit">
-            <summary>
-            Determines whether the tests are run in a 32bit process on a 64bit OS.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NUnit.Framework">
-            <summary>
-            Determines the framework to run aganist.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NUnit.ShowLabels">
-            <summary>
-            Whether or not to show test labels in output
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NUnit.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <value></value>
-            <returns>The name of the executable file to run.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.NUnit.StandardOutputLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
-            </summary>
-            <value></value>
-            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Properties.Resources">
-            <summary>
-              A strongly-typed resource class, for looking up localized strings, etc.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ResourceManager">
-            <summary>
-              Returns the cached ResourceManager instance used by this class.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.Culture">
-            <summary>
-              Overrides the current thread's CurrentUICulture property for all
-              resource lookups using this strongly typed resource class.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ActiveDirectoryLookupException">
-            <summary>
-              Looks up a localized string similar to Failed to lookup information for {0} in Active Directory..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.AttribDirectory">
-            <summary>
-              Looks up a localized string similar to Attrib directory &apos;{0}&apos;. {1}.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.AttribFile">
-            <summary>
-              Looks up a localized string similar to Attrib file &apos;{0}&apos;. {1}.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.CouldNotConnectToRemoteServer">
-            <summary>
-              Looks up a localized string similar to Couldn&apos;t connect to remove server..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.CouldNotResolveServerHostName">
-            <summary>
-              Looks up a localized string similar to Couldn&apos;t resolve server host name {0}..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.CreatingDirectory">
-            <summary>
-              Looks up a localized string similar to Creating directory &quot;{0}&quot;..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ExactlyOneTypeOfDestination">
-            <summary>
-              Looks up a localized string similar to Both &quot;{0}&quot; and &quot;{1}&quot; were specified as input parameters in the project file. Please choose one or the other..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.FileNotFound">
-            <summary>
-              Looks up a localized string similar to File Not Found: {0}.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.FtpLocalNotFound">
-            <summary>
-              Looks up a localized string similar to Local File Not Found: {0}.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.FtpPercentComplete">
-            <summary>
-              Looks up a localized string similar to   {0}% Complete ({1}).
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.FtpTransfered">
-            <summary>
-              Looks up a localized string similar to Transfered {0} ({1}) in {2}.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.FtpUploadComplete">
-            <summary>
-              Looks up a localized string similar to Upload File Complete, {0}.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.FtpUploading">
-             <summary>
-               Looks up a localized string similar to Uploading &quot;{0}&quot;
-               to &quot;{1}&quot;
-            .
-             </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.FtpUriInvalid">
-            <summary>
-              Looks up a localized string similar to The URI &quot;{0}&quot; scheme is not valid..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.JSCompressCompressed">
-            <summary>
-              Looks up a localized string similar to Compressed by {0}, from {1} to {2} byte(s).
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.JSCompressCompressing">
-            <summary>
-              Looks up a localized string similar to Compressing JavaScript in &quot;{0}&quot;..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.JSCompressWriting">
-            <summary>
-              Looks up a localized string similar to Writing compressed JavaScript back to &quot;{0}&quot; using {1}..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.MailEmailing">
-            <summary>
-              Looks up a localized string similar to Emailing &quot;{0}&quot;..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.MathNotNumber">
-            <summary>
-              Looks up a localized string similar to &quot;{0}&quot; is not a number..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.MergeComplete">
-            <summary>
-              Looks up a localized string similar to Merge Complete: {0} files merged into &apos;{1}&apos;..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.MergeCompleteNoSourceFiles">
-            <summary>
-              Looks up a localized string similar to Merge Complete: No source files to merge..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.MergingFile">
-            <summary>
-              Looks up a localized string similar to Merging file &apos;{0}&apos; into &apos;{1}&apos;.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.MoveError">
-            <summary>
-              Looks up a localized string similar to Unable to move file &quot;{0}&quot; to &quot;{1}&quot;. {2}.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.MoveFileComment">
-            <summary>
-              Looks up a localized string similar to Moving file from &quot;{0}&quot; to &quot;{1}&quot;..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.NUnitNotFound">
-            <summary>
-              Looks up a localized string similar to Could not find the NUnit Project File open command. Please make sure NUnit is installed..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.OracleHomeCheck">
-            <summary>
-              Looks up a localized string similar to Checking Oracle Home: {0}.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ParameterNotUsed">
-            <summary>
-              Looks up a localized string similar to The parameter &quot;{1}&quot; does not apply to the current use of task &quot;{0}&quot;..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ParameterRequired">
-            <summary>
-              Looks up a localized string similar to The &quot;{0}&quot; task was not given a value for the required parameter &quot;{1}&quot;..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.RegistryRead">
-            <summary>
-              Looks up a localized string similar to Read Windows Registry.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.RegistryWrite">
-            <summary>
-              Looks up a localized string similar to Write Windows Registry.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceCannotContinue">
-            <summary>
-              Looks up a localized string similar to Cannot continue service {0} on computer &apos;{1}&apos; as it does not support the pause and continue..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceCannotPause">
-            <summary>
-              Looks up a localized string similar to Cannot pause service {0} on computer &apos;{1}&apos; as it does not support the pause and continue..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceCannotStop">
-            <summary>
-              Looks up a localized string similar to Cannot stop service {0} on computer &apos;{1}&apos;..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceContinued">
-            <summary>
-              Looks up a localized string similar to {0} service was continued successfully..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceContinuing">
-            <summary>
-              Looks up a localized string similar to {0} service is continuing ....
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceNotFound">
-            <summary>
-              Looks up a localized string similar to Couldn&apos;t find the &apos;{0}&apos; service on &apos;{1}&apos;.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceNotPaused">
-            <summary>
-              Looks up a localized string similar to Cannot continue service {0} on computer &apos;{1}&apos; as its not currently paused..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceNotStarted">
-            <summary>
-              Looks up a localized string similar to Cannot pause service {0} on computer &apos;{1}&apos; as its not currently started..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServicePaused">
-            <summary>
-              Looks up a localized string similar to {0} service was paused successfully..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServicePausing">
-            <summary>
-              Looks up a localized string similar to {0} service is pausing ....
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceStarted">
-            <summary>
-              Looks up a localized string similar to {0} service was started successfully..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceStarting">
-            <summary>
-              Looks up a localized string similar to {0} service is starting ....
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceStatus">
-            <summary>
-              Looks up a localized string similar to The &apos;{0}&apos; service on &apos;{1}&apos; is &apos;{2}&apos;..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceStopped">
-            <summary>
-              Looks up a localized string similar to {0} service was stopped successfully..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceStopping">
-            <summary>
-              Looks up a localized string similar to {0} service is stopping ....
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.SolutionNotFound">
-            <summary>
-              Looks up a localized string similar to Solution file &quot;{0}&quot; not found..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.SvnLocalPathNotWorkCopy">
-            <summary>
-              Looks up a localized string similar to LocalPath is not a working subversion copy..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TaskDestinationIsDirectory">
-            <summary>
-              Looks up a localized string similar to Could not {0} the file &quot;{1}&quot; to the destination file &quot;{2}&quot;, because the destination is a folder instead of a file. To {0} the source file into a folder, consider using the DestinationFolder parameter instead of DestinationFiles..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TaskNeedsDestination">
-            <summary>
-              Looks up a localized string similar to No destination specified for {0}. Please supply either &quot;{1}&quot; or &quot;{2}&quot;..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TaskSourceIsDirectory">
-            <summary>
-              Looks up a localized string similar to The source file &quot;{0}&quot; is actually a directory.  The &quot;{1}&quot; task does not support moving directories..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TimeFormatException">
-            <summary>
-              Looks up a localized string similar to Failed to get current date!.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TimeGettingCurrentDate">
-            <summary>
-              Looks up a localized string similar to Getting current date..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TnsnameAdded">
-            <summary>
-              Looks up a localized string similar to Adding TNSNAMES entry &quot;{0}&quot; to &quot;{1}&quot;.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TnsNamesFileCheck">
-            <summary>
-              Looks up a localized string similar to Looking for {0}.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TnsNamesFileNotFound">
-            <summary>
-              Looks up a localized string similar to Unable to locate a TNSNAMES.ORA file. Please specify a value for TnsNamesFile..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TnsnameUpdateAborted">
-            <summary>
-              Looks up a localized string similar to TNSNAME entry &quot;{0}&quot; already exists in &quot;{1}&quot; and AllowUpdates=false..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TnsnameUpdated">
-            <summary>
-              Looks up a localized string similar to Updating TNSNAMES entry &quot;{0}&quot; in &quot;{1}&quot;.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TwoVectorsMustHaveSameLength">
-            <summary>
-              Looks up a localized string similar to &quot;{2}&quot; refers to {0} item(s), and &quot;{3}&quot; refers to {1} item(s). They must have the same number of items..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.UnzipExtracted">
-            <summary>
-              Looks up a localized string similar to   extracted &quot;{0}&quot;.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.UnzipFileToDirectory">
-             <summary>
-               Looks up a localized string similar to Unzip File &quot;{0}&quot;
-                to Directory &quot;{1}&quot;
-            .
-             </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.UnzipSuccessfully">
-            <summary>
-              Looks up a localized string similar to Unzipped file &quot;{0}&quot; successfully..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultAddFileCommitFailed">
-            <summary>
-              Looks up a localized string similar to Commitment of change set failed!.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultAddFileCommitSucceeded">
-            <summary>
-              Looks up a localized string similar to Files added to Vault repository successfully..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultAddFilesException">
-            <summary>
-              Looks up a localized string similar to Files specified for addition to repository cannot be found..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultCheckinFileException">
-            <summary>
-              Looks up a localized string similar to The file {0} could not be checked in: {1}..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultCheckinFileNotFoundException">
-            <summary>
-              Looks up a localized string similar to File or folder {0} not found for checkin..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultCheckinFolderException">
-            <summary>
-              Looks up a localized string similar to The folder {0} could not be checked in: {1}..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultCheckinSuccessful">
-            <summary>
-              Looks up a localized string similar to {0} successfully checked out..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultCheckoutSuccessful">
-            <summary>
-              Looks up a localized string similar to {0} successfully checked out..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultDiskFileDoesNotExist">
-            <summary>
-              Looks up a localized string similar to Specified diskfile {0} does not exist..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultFileAddedToChangeSet">
-            <summary>
-              Looks up a localized string similar to File [{0}] added to change set..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultFolderAddedToChangeSet">
-            <summary>
-              Looks up a localized string similar to Folder [{0}] added to change set..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultIncorrectParameters">
-            <summary>
-              Looks up a localized string similar to Incorrect parameters passed to VaultSession..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultLoginFailed">
-            <summary>
-              Looks up a localized string similar to Login to Vault repository failed..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultPathValidationException">
-            <summary>
-              Looks up a localized string similar to Error validating path &quot;{0}&quot;..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultRepositorySelectionFailure">
-            <summary>
-              Looks up a localized string similar to Selection of the repository failed: {0}..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultResourceNotFound">
-            <summary>
-              Looks up a localized string similar to File or folder {0} not found for checkout..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultSetNewWorkingFolder">
-            <summary>
-              Looks up a localized string similar to Set working folder for {0} to {1} from {2}..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultTreeCacheFailure">
-            <summary>
-              Looks up a localized string similar to ClientInstance.TreeCache has not been initialized, Common cause is that SelectRepository has not been called sucessfully..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultUndoCheckoutSuccessful">
-            <summary>
-              Looks up a localized string similar to Successfully undid check out for {0}..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultUrlRequired">
-            <summary>
-              Looks up a localized string similar to Url specifying vault location is required..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultUsernameRequired">
-            <summary>
-              Looks up a localized string similar to Username must be set to access repository..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultWorkingFolderCleared">
-            <summary>
-              Looks up a localized string similar to Clearing working folder for {0}..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultWorkingFolderRestored">
-            <summary>
-              Looks up a localized string similar to Restoring working folder for {0} to {1}..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VersionFileNotFound">
-            <summary>
-              Looks up a localized string similar to Version file &quot;{0}&quot; not found - creating new file..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VersionModifiedValue">
-            <summary>
-              Looks up a localized string similar to Updated to version {0}.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VersionOriginalValue">
-            <summary>
-              Looks up a localized string similar to Initialized to version {0}.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VersionRead">
-            <summary>
-              Looks up a localized string similar to Reading version from file &quot;{0}&quot;..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VersionReadException">
-            <summary>
-              Looks up a localized string similar to Unable to read version number from &quot;{0}&quot;. {1}.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VersionWriteException">
-            <summary>
-              Looks up a localized string similar to Unable to write version number to &quot;{0}&quot;. {1}&quot;.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VersionWrote">
-            <summary>
-              Looks up a localized string similar to Wrote version to file &quot;{0}&quot;..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.WebDirectoryInvalidDirectory">
-            <summary>
-              Looks up a localized string similar to Web directory {0} does not exist on {1}..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.WebDirectoryScriptMapUpdate">
-            <summary>
-              Looks up a localized string similar to Setting scriptmap for {0} on web directory {1} on {2}..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.WebDirectorySettingInvalidSetting">
-            <summary>
-              Looks up a localized string similar to Web directory {0} on {1} does not have a setting called {2}..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.WebDirectorySettingStatusRead">
-            <summary>
-              Looks up a localized string similar to Reading {0} property of web directory {1} on {2}..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.WebDirectorySettingStatusSet">
-            <summary>
-              Looks up a localized string similar to Setting {0} property of web directory {1} on {2}..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XmlReadDocument">
-            <summary>
-              Looks up a localized string similar to Reading Xml Document &quot;{0}&quot;..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XmlReadNodes">
-            <summary>
-              Looks up a localized string similar to   {0} node(s) selected for read..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XmlReadResult">
-            <summary>
-              Looks up a localized string similar to XmlRead Result: &quot;{0}&quot;.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XmlUpdateDocument">
-            <summary>
-              Looks up a localized string similar to Updating Xml Document &quot;{0}&quot;..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XmlUpdateNodes">
-            <summary>
-              Looks up a localized string similar to   {0} node(s) selected for update..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XmlUpdateResult">
-            <summary>
-              Looks up a localized string similar to XmlUpdate Wrote: &quot;{0}&quot;..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XsltAddingParameter">
-            <summary>
-              Looks up a localized string similar to Adding Parameter &quot;{0}&quot;: &quot;{1}&quot;..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XsltAddingRootAttribute">
-            <summary>
-              Looks up a localized string similar to Adding root attribute {0}=&quot;{1}&quot;..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XsltCreatingRootTag">
-            <summary>
-              Looks up a localized string similar to Creating root tag &quot;{0}&quot;..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XsltNoInputFiles">
-            <summary>
-              Looks up a localized string similar to No input files..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XsltNoRootTag">
-            <summary>
-              Looks up a localized string similar to No root tag inserted..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ZipAdded">
-            <summary>
-              Looks up a localized string similar to   added &quot;{0}&quot;..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ZipCreating">
-            <summary>
-              Looks up a localized string similar to Creating zip file &quot;{0}&quot;..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ZipFileNotFound">
-            <summary>
-              Looks up a localized string similar to Zip File Not Found: {0}..
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ZipSuccessfully">
-            <summary>
-              Looks up a localized string similar to Created zip file &quot;{0}&quot; successfully..
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.RegistryRead">
-            <summary>
-            Reads a value from the Registry
-            </summary>
-            <example>Read .NET Framework install root from Registry.
-            <code><![CDATA[
-            <RegistryRead 
-                KeyName="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework" 
-                ValueName="InstallRoot">
-                <Output TaskParameter="Value" PropertyName="InstallRoot" />
-            </RegistryRead>
-            <Message Text="InstallRoot: $(InstallRoot)"/>
-            ]]></code>
-            </example>
-            <remarks>The <see cref="P:MSBuild.Community.Tasks.RegistryRead.Value"/> parameter is set according to the following rules:
-            <list type="table"><item><description>If a <see cref="P:MSBuild.Community.Tasks.RegistryRead.DefaultValue"/> is provided, it will be used if the <see cref="P:MSBuild.Community.Tasks.RegistryRead.KeyName"/> or <see cref="P:MSBuild.Community.Tasks.RegistryRead.ValueName"/> does not exist.</description></item>
-            <item><description>If a <see cref="P:MSBuild.Community.Tasks.RegistryRead.DefaultValue"/> is not provided, the <see cref="P:MSBuild.Community.Tasks.RegistryRead.KeyName"/> exists, but the <see cref="P:MSBuild.Community.Tasks.RegistryRead.ValueName"/> does not exist, <see cref="P:MSBuild.Community.Tasks.RegistryRead.Value"/> will be set to an empty string.</description></item>
-            <item><description>If a <see cref="P:MSBuild.Community.Tasks.RegistryRead.DefaultValue"/> is not provided, and the <see cref="P:MSBuild.Community.Tasks.RegistryRead.KeyName"/> does not exist, the task will fail.</description></item></list></remarks>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.RegistryRead.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:RegistryRead"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.RegistryRead.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegistryRead.KeyName">
-            <summary>
-            Gets or sets the full registry path of the key, beginning with a valid registry root, such as "HKEY_CURRENT_USER".
-            </summary>
-            <value>The name of the key.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegistryRead.ValueName">
-            <summary>
-            Gets or sets the name of the name/value pair.
-            </summary>
-            <value>The name of the value.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegistryRead.DefaultValue">
-            <summary>
-            Gets or sets the default value.
-            </summary>
-            <value>The default value.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegistryRead.Value">
-            <summary>
-            Gets the stored value.
-            </summary>
-            <value>The value.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.RegistryWrite">
-            <summary>
-            Writes a value to the Registry
-            </summary>
-            <example>Write a value to Registry
-            <code><![CDATA[
-            <RegistryWrite 
-                KeyName="HKEY_CURRENT_USER\SOFTWARE\MSBuildTasks"
-                ValueName="RegistryWrite"
-                Value="Test Write" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.RegistryWrite.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:RegistryWrite"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.RegistryWrite.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegistryWrite.KeyName">
-            <summary>
-            Gets or sets the full registry path of the key, beginning with a valid registry root, such as "HKEY_CURRENT_USER".
-            </summary>
-            <value>The name of the key.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegistryWrite.ValueName">
-            <summary>
-            Gets or sets the name of the name/value pair.
-            </summary>
-            <value>The name of the value.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.RegistryWrite.Value">
-            <summary>
-            Gets or sets the value to be stored.
-            </summary>
-            <value>The value.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Script">
-            <summary>
-            Executes code contained within the task.
-            </summary>
-            <example>
-      <para>Simple script that writes to the console</para>
-      <code>
-        <![CDATA[
-<PropertyGroup>
-    <HelloCode>
-        <![CDATA[
-        public static void ScriptMain() {
-            Console.WriteLine("Hello MSBuild Community Scripting World.");
-        }
-        ]] >
-    </HelloCode>
-</PropertyGroup>
-<Target Name="Hello">
-    <Script Language="C#" Code="$(HelloCode)" Imports="System" />
-</Target>
-]]>
-      </code>
-    </example><example>
-      <para>Script that returns a value.</para>
-      <code>
-        <![CDATA[
-<PropertyGroup>
-    <GetProgramFilesCode>
-        <![CDATA[
-        public static string ScriptMain() {
-            return Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);
-        }
-        ]] >
-    </GetProgramFilesCode>
-</PropertyGroup>
-<Target Name="GetProgramFilesFolder">
-    <Script Language="C#" Code="$(GetProgramFilesCode)">
-        <Output TaskParameter="ReturnValue" PropertyName="ProgramFilesFolder" />
-    </Script>
-    <Message Text="Program files are in: $(ProgramFilesFolder)" />
-</Target>
-]]>
-      </code>
-    </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Script.Execute">
-            <summary>
-            Executes the task.
-            </summary>
-            <returns><see langword="true"/> if the task ran successfully; 
-            otherwise <see langword="false"/>.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Script.References">
-            <summary>
-            The required references
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Script.Imports">
-            <summary>
-            The namespaces to import.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Script.Language">
-            <summary>
-            The language of the script block (defaults to C#).
-            </summary>
-            <remarks><para>The supported languages are:</para>
-            <list type="bullet">
-            <item><description>Visual Basic.NET (VB, vb, VISUALBASIC)</description></item>
-            <item><description>C# (C#, c#, CSHARP)</description></item>
-            <item><description>JavaScript (JS, js, JSCRIPT)</description></item>
-            <item><description>J# (VJS, vjs, JSHARP)</description></item>
-            </list> or, proviude the fully-qualified name for a class implementing 
-            <see cref="T:System.CodeDom.Compiler.CodeDomProvider"/>.</remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Script.MainClass">
-            <summary>
-            The name of the main class containing the static <c>ScriptMain</c> 
-            entry point. 
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Script.Code">
-            <summary>
-            The code to compile and execute
-            </summary>
-            <remarks>
-            The code must include a static (Shared in VB) method named ScriptMain.
-            It cannot accept any parameters. If you define the method return a <see cref="T:System.String"/>,
-            the returned value will be available in the <see cref="P:MSBuild.Community.Tasks.Script.ReturnValue"/> output property.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Script.ReturnValue">
-            <summary>
-            The string returned from the custom ScriptMain method.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Sleep">
-            <summary>
-            A task for sleeping for a specified period of time.
-            </summary>
-            <example>Causes the build to sleep for 300 milliseconds.
-            <code><![CDATA[
-            <Sleep Milliseconds="300" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Sleep.Execute">
-            <summary>
-            Executes the task.
-            </summary>
-            <returns><see langword="true"/> if the task ran successfully; 
-            otherwise <see langword="false"/>.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sleep.Milliseconds">
-            <summary>
-            The number of milliseconds to add to the time to sleep.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sleep.Seconds">
-            <summary>
-            The number of seconds to add to the time to sleep.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sleep.Minutes">
-            <summary>
-            The number of minutes to add to the time to sleep.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Sleep.Hours">
-            <summary>
-            The number of hours to add to the time to sleep.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.SqlExecute">
-            <summary>
-            Executes a SQL command.
-            </summary>
-            <remarks>
-            Execute a SQL command against a database.  Target attributes to set:
-            ConnectionString (required), Command (required, the SQL to execute),
-            SelectMode (NonQuery, Scalar, or ScalarXml, default is NonQuery),
-            OutputFile (required when SelectMode is Scalar or ScalarXml).
-            
-            Note: ScalarXml was created because of the 2033 byte limit on the sql return. 
-            See http://aspnetresources.com/blog/executescalar_truncates_xml.aspx for details.
-            </remarks>
-            <example>
-            Example of returning a count of items in a table.  Uses the default SelectMode of NonQuery.
-            <code><![CDATA[
-                <SqlExecute ConnectionString="server=MyServer;Database=MyDatabase;Trusted_Connection=yes;"
-                    Command="create database MyDatabase" />
-            ]]></code>
-            
-            Example of returning the items of a table in an xml format.
-            <code><![CDATA[
-                <SqlExecute ConnectionString="server=MyServer;Database=MyDatabase;Trusted_Connection=yes;"
-            		Command="select * from SomeTable for xml auto"
-            		SelectMode="ScalarXml"
-            		OutputFile="SomeTable.xml" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SqlExecute.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.SqlExecute.IsOutputFileSpecified(System.String)">
-            <summary>
-            Determines if an output file was specified.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlExecute.ConnectionString">
-            <summary>
-            The connection string
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlExecute.Command">
-            <summary>
-            The command to execute
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlExecute.CommandTimeout">
-            <summary>
-            Command Timeout
-            </summary>
-            <remarks>Defaults to 30 seconds. Set to 0 for an infinite timeout period.</remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlExecute.SelectMode">
-            <summary>
-            The SQL Selection Mode.  Set to NonQuery, Scalar, or ScalarXml.  Default is NonQuery.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlExecute.OutputFile">
-            <summary>
-            The file name to write to
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.SqlExecute.Result">
-            <summary>
-            Output the return count/value
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Subversion.SvnCheckout">
-            <summary>
-            Checkout a local working copy of a Subversion repository.
-            </summary>
-            <example>Checkout a working copy
-            <code><![CDATA[
-            <Target Name="Checkout">
-              <RemoveDir Directories="$(MSBuildProjectDirectory)\Test\Checkout" />
-              <SvnCheckout RepositoryPath="file:///d:/svn/repo/Test/trunk" 
-                           LocalPath="$(MSBuildProjectDirectory)\Test\Checkout">      
-                <Output TaskParameter="Revision" PropertyName="Revision" />
-              </SvnCheckout>
-              <Message Text="Revision: $(Revision)"/>
-            </Target>
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnCheckout.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:SvnCheckout"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnCheckout.ValidateParameters">
-            <summary>
-            Indicates whether all task paratmeters are valid.
-            </summary>
-            <returns>
-            true if all task parameters are valid; otherwise, false.
-            </returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Subversion.SvnCommit">
-            <summary>
-            Subversion Commit command
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnCommit.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:SvnCommit"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnCommit.ValidateParameters">
-            <summary>
-            Indicates whether all task paratmeters are valid.
-            </summary>
-            <returns>
-            true if all task parameters are valid; otherwise, false.
-            </returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Subversion.SvnExport">
-            <summary>
-            Export a folder from a Subversion repository
-            </summary>
-            <example> Export from repository
-            <code><![CDATA[
-            <Target Name="Export">
-              <MakeDir Directories="$(MSBuildProjectDirectory)\Test" />
-              <RemoveDir Directories="$(MSBuildProjectDirectory)\Test\Export" />
-              <SvnExport RepositoryPath="file:///d:/svn/repo/Test/trunk" 
-                LocalPath="$(MSBuildProjectDirectory)\Test\Export">
-                <Output TaskParameter="Revision" PropertyName="Revision" />
-              </SvnExport>
-              <Message Text="Revision: $(Revision)"/>
-            </Target>
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnExport.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:SvnExport"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnExport.ValidateParameters">
-            <summary>
-            Indicates whether all task paratmeters are valid.
-            </summary>
-            <returns>
-            true if all task parameters are valid; otherwise, false.
-            </returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Subversion.SvnVersion">
-            <summary>
-            Summarize the local revision(s) of a working copy.
-            </summary>
-            <example>The following example gets the revision of the current folder.
-            <code><![CDATA[
-            <Target Name="Version">
-              <SvnVersion LocalPath=".">
-                <Output TaskParameter="Revision" PropertyName="Revision" />
-              </SvnVersion>
-              <Message Text="Revision: $(Revision)"/>
-            </Target>
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnVersion.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:SvnVersion"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnVersion.GenerateFullPathToTool">
-            <summary>
-            Returns the fully qualified path to the executable file.
-            </summary>
-            <returns>
-            The fully qualified path to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnVersion.LogToolCommand(System.String)">
-            <summary>
-            Logs the starting point of the run to all registered loggers.
-            </summary>
-            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnVersion.GenerateCommandLineCommands">
-            <summary>
-            Returns a string value containing the command line arguments to pass directly to the executable file.
-            </summary>
-            <returns>
-            A string value containing the command line arguments to pass directly to the executable file.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnVersion.Execute">
-            <summary>
-            Runs the exectuable file with the specified task parameters.
-            </summary>
-            <returns>
-            true if the task runs successfully; otherwise, false.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnVersion.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
-            <summary>
-            Logs the events from text output.
-            </summary>
-            <param name="singleLine">The single line.</param>
-            <param name="messageImportance">The message importance.</param>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnVersion.LocalPath">
-            <summary>Path to local working copy.</summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnVersion.UseLastCommittedRevision">
-            <summary>
-            Specifies whether to use the last committed revision number as
-            opposed to the last updated revision number.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnVersion.Revision">
-            <summary>Revision number of the local working repository.</summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnVersion.HighRevision">
-            <summary>High revision number of the local working repository revision range.</summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnVersion.LowRevision">
-            <summary>Low revision number of the local working repository revision range.</summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnVersion.Modifications">
-            <summary>True if working copy contains modifications.</summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnVersion.Switched">
-            <summary>True if working copy is switched.</summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnVersion.Exported">
-            <summary>
-            True if invoked on a directory that is not a working copy, 
-            svnversion assumes it is an exported working copy and prints "exported".
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnVersion.StandardOutputLoggingImportance">
-            <summary>
-            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
-            </summary>
-            <value></value>
-            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Subversion.SvnVersion.ToolName">
-            <summary>
-            Gets the name of the executable file to run.
-            </summary>
-            <value></value>
-            <returns>The name of the executable file to run.</returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Subversion.SvnUpdate">
-            <summary>
-            Subversion Update command
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnUpdate.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:SvnUpdate"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Subversion.SvnUpdate.ValidateParameters">
-            <summary>
-            Indicates whether all task paratmeters are valid.
-            </summary>
-            <returns>
-            true if all task parameters are valid; otherwise, false.
-            </returns>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Unzip">
-            <summary>
-            Unzip a file to a target directory.
-            </summary>
-            <example>Unzip file tasks
-            <code><![CDATA[
-            <Unzip ZipFileName="MSBuild.Community.Tasks.zip" 
-                TargetDirectory="Backup"/>
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Unzip.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Unzip"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Unzip.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Unzip.ZipFileName">
-            <summary>
-            Gets or sets the name of the zip file.
-            </summary>
-            <value>The name of the zip file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Unzip.TargetDirectory">
-            <summary>
-            Gets or sets the target directory.
-            </summary>
-            <value>The target directory.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Unzip.Overwrite">
-            <summary>
-            Gets or sets a value indicating whether to overwrite any existing files on extraction. Defaults to <c>true</c>.
-            </summary>
-            <value><c>true</c> to overwrite any existing files on extraction; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Unzip.Quiet">
-            <summary>
-            Gets or sets a value indicating whether to output less information. Defaults to <c>false</c>.
-            </summary>
-            <value><c>false</c> to output a message for every file extracted; otherwise, <c>true</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Unzip.ExtractedFiles">
-            <summary>
-            Gets the files extracted from the zip.
-            </summary>
-            <value>The files extracted from the zip.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Version">
-            <summary>
-            Generates version information based on various algorithms
-            </summary>
-            <example>Get version information from file and increment revision.
-            <code><![CDATA[
-            <Version VersionFile="number.txt" BuildType="Automatic" RevisionType="Increment">
-                <Output TaskParameter="Major" PropertyName="Major" />
-                <Output TaskParameter="Minor" PropertyName="Minor" />
-                <Output TaskParameter="Build" PropertyName="Build" />
-                <Output TaskParameter="Revision" PropertyName="Revision" />
-            </Version>
-            <Message Text="Version: $(Major).$(Minor).$(Build).$(Revision)"/>
-            ]]></code>
-            </example>
-            <example>Specify Major and Minor version information and generate Build and Revision.
-            <code><![CDATA[
-            <Version BuildType="Automatic" RevisionType="Automatic" Major="1" Minor="3" >
-                <Output TaskParameter="Major" PropertyName="Major" />
-                <Output TaskParameter="Minor" PropertyName="Minor" />
-                <Output TaskParameter="Build" PropertyName="Build" />
-                <Output TaskParameter="Revision" PropertyName="Revision" />
-            </Version>
-            <Message Text="Version: $(Major).$(Minor).$(Build).$(Revision)"/>
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Version.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:Version"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Version.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Version.Major">
-            <summary>
-            Gets or sets the major version number.
-            </summary>
-            <value>The major version number.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Version.Minor">
-            <summary>
-            Gets or sets the minor version number.
-            </summary>
-            <value>The minor version number.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Version.Build">
-            <summary>
-            Gets or sets the build version number.
-            </summary>
-            <seealso cref="P:MSBuild.Community.Tasks.Version.BuildType"/>
-            <value>The build version number.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Version.Revision">
-            <summary>
-            Gets or sets the revision version number.
-            </summary>
-            <seealso cref="P:MSBuild.Community.Tasks.Version.RevisionType"/>
-            <value>The revision version number.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Version.VersionFile">
-            <summary>
-            Gets or sets the file used to initialize and persist the version.
-            </summary>
-            <value>The version file.</value>
-            <remarks>
-            When specified, the task will attempt to load the previous version information from the file.
-            After updating the version, the new value will be saved to the file.
-            <para>
-            If you do not specify a value for this property, the version will be calculated
-            based on the values passed to the <see cref="P:MSBuild.Community.Tasks.Version.Major"/>, <see cref="P:MSBuild.Community.Tasks.Version.Minor"/>,
-            <see cref="P:MSBuild.Community.Tasks.Version.Build"/>, and <see cref="P:MSBuild.Community.Tasks.Version.Revision"/> properties. The new version will not be persisted.</para></remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Version.MajorType">
-            <summary>
-            Gets or sets the method used to generate a <see cref="P:MSBuild.Community.Tasks.Version.Major"/> number
-            </summary>
-            <remarks>
-            If value is not provided, None is assumed.
-            The <see cref="P:MSBuild.Community.Tasks.Version.Major"/> number is set according to the following table:
-            <list type="table">
-            <listheader><term>MajorType</term><description>Description</description></listheader>
-            <item><term>None</term><description>The number is not modified.</description></item>
-            <item><term>Increment</term><description>Increases the previous <see cref="P:MSBuild.Community.Tasks.Version.Major"/> value by 1.</description></item>
-            </list>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Version.MinorType">
-            <summary>
-            Gets or sets the method used to generate a <see cref="P:MSBuild.Community.Tasks.Version.Minor"/> number
-            </summary>
-            <remarks>
-            If value is not provided, None is assumed.
-            The <see cref="P:MSBuild.Community.Tasks.Version.Minor"/> number is set according to the following table:
-            <list type="table">
-            <listheader><term>MinorType</term><description>Description</description></listheader>
-            <item><term>None</term><description>The number is not modified.</description></item>
-            <item><term>Increment</term><description>Increases the previous <see cref="P:MSBuild.Community.Tasks.Version.Minor"/> value by 1.</description></item>
-            <item><term>Reset</term><description>Resets the previous <see cref="P:MSBuild.Community.Tasks.Version.Minor"/> value to 0.</description></item>
-            </list>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Version.BuildType">
-            <summary>
-            Gets or sets the method used to generate a <see cref="P:MSBuild.Community.Tasks.Version.Build"/> number
-            </summary>
-            <remarks>
-            If value is not provided, None is assumed.
-            The <see cref="P:MSBuild.Community.Tasks.Version.Build"/> number is set according to the following table:
-            <list type="table">
-            <listheader><term>BuildType</term><description>Description</description></listheader>
-            <item><term>None</term><description>The number is not modified.</description></item>
-            <item><term>Automatic</term><description>The number of days since <see cref="P:MSBuild.Community.Tasks.Version.StartDate"/>.</description></item>
-            <item><term>Increment</term><description>Increases the previous <see cref="P:MSBuild.Community.Tasks.Version.Build"/> value by 1.</description></item>
-            <item><term>Reset</term><description>Resets the previous <see cref="P:MSBuild.Community.Tasks.Version.Build"/> value to 0.</description></item>
-            </list>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Version.RevisionType">
-            <summary>
-            Gets or sets the method used to generate a <see cref="P:MSBuild.Community.Tasks.Version.Revision"/> number
-            </summary>
-            <remarks>
-            If value is not provided, None is assumed.
-            The <see cref="P:MSBuild.Community.Tasks.Version.Revision"/> number is set according to the following table:
-            <list type="table">
-            <listheader><term>RevisionType</term><description>Description</description></listheader>
-            <item><term>None</term><description>The number is not modified.</description></item>
-            <item><term>Automatic</term><description>A number that starts at 0 at midnight, and constantly increases throughout the day (changing roughly every 1.3 seconds). Guaranteed to be safe for components of the AssemblyVersion attribute.</description></item>
-            <item><term>Increment</term><description>Increases the previous <see cref="P:MSBuild.Community.Tasks.Version.Revision"/> value by 1.</description></item>
-            <item><term>BuildIncrement</term><description>Increases the previous <see cref="P:MSBuild.Community.Tasks.Version.Revision"/> value by 1 when the value of <see cref="P:MSBuild.Community.Tasks.Version.Build"/> is unchanged. If the value of <see cref="P:MSBuild.Community.Tasks.Version.Build"/> has changed, <see cref="P:MSBuild.Community.Tasks.Version.Revision"/> is reset to 0.</description></item>
-            <item><term>Reset</term><description>Resets the previous <see cref="P:MSBuild.Community.Tasks.Version.Revision"/> value to 0.</description></item>
-            </list>
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Version.StartDate">
-            <summary>
-            Gets or sets the starting date used to calculate the <see cref="P:MSBuild.Community.Tasks.Version.Build"/> number when <see cref="P:MSBuild.Community.Tasks.Version.BuildType"/> is Automatic.
-            </summary>
-            <value>The starting date for calculation of the build number.</value>
-            <remarks>
-            This value is only used when the <see cref="P:MSBuild.Community.Tasks.Version.BuildType"/> is Automatic.
-            <para>This default value is January 1, 2000.</para>
-            </remarks>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.WebDownload">
-            <summary>
-            Downloads a resource with the specified URI to a local file. 
-            </summary>
-            <example>Download the Microsoft.com home page.
-            <code><![CDATA[
-            <WebDownload FileUri="http://www.microsoft.com/default.aspx" 
-                FileName="microsoft.html" />
-            ]]></code>
-            </example>
-            <example>Download a page from your local intranet protected by Windows Authentication
-            <code><![CDATA[
-            <WebDownload FileUri="http://intranet/default.aspx" FileName="page.html" UseDefaultCredentials="True" />
-            ]]></code>
-            </example>
-            <example>Download a page from a password protected website
-            <code><![CDATA[
-            <WebDownload FileUri="http://example.com/myscore.aspx" FileName="page.html" Username="joeuser" Password="password123" />
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.WebDownload.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.WebDownload.GetConfiguredCredentials">
-            <summary>
-            Determines which credentials to pass with the web request
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.WebDownload.FileName">
-            <summary>
-            Gets or sets the name of the local file that is to receive the data.
-            </summary>
-            <value>The name of the file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.WebDownload.FileUri">
-            <summary>
-            Gets or sets the URI from which to download data.
-            </summary>
-            <value>The file URI.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.WebDownload.UseDefaultCredentials">
-            <summary>
-            When true, the current user's credentials are used to authenticate against the remote web server
-            </summary>
-            <remarks>
-            This value is ignored if the <see cref="P:MSBuild.Community.Tasks.WebDownload.Username"/> property is set to a non-empty value.</remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.WebDownload.Username">
-            <summary>
-            The username used to authenticate against the remote web server
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.WebDownload.Password">
-            <summary>
-            The password used to authenticate against the remote web server. A value for <see cref="P:MSBuild.Community.Tasks.WebDownload.Username"/> must also be provided.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.WebDownload.Domain">
-            <summary>
-            The domain of the user being used to authenticate against the remote web server. A value for <see cref="P:MSBuild.Community.Tasks.WebDownload.Username"/> must also be provided.
-            </summary>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.XmlRead">
-            <summary>
-            Reads a value from a XML document using a XPath.
-            </summary>
-            <example>Read all targest from a build project.
-            <code><![CDATA[
-            <XmlRead Prefix="n"
-                Namespace="http://schemas.microsoft.com/developer/msbuild/2003" 
-                XPath="/n:Project/n:Target/@Name"
-                XmlFileName="Subversion.proj">
-                <Output TaskParameter="Value" PropertyName="BuildTargets" />
-            </XmlRead>
-            <Message Text="Build Targets: $(BuildTargets)"/>
-            ]]></code>
-            </example>
-            <remarks>
-            If the XPath returns multiple nodes, the Value will 
-            be a semicolon delimited list of the nodes text.
-            </remarks>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.XmlRead.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:XmlRead"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.XmlRead.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.XmlRead.XmlFileName">
-            <summary>
-            Gets or sets the name of the XML file.
-            </summary>
-            <value>The name of the XML file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.XmlRead.XPath">
-            <summary>
-            Gets or sets the XPath.
-            </summary>
-            <value>The XPath.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.XmlRead.Value">
-            <summary>
-            Gets the value read from file.
-            </summary>
-            <value>The value.</value>
-            <remarks>
-            If the XPath returns multiple nodes, the values will be semicolon delimited.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.XmlRead.Namespace">
-            <summary>
-            Gets or sets the default namespace.
-            </summary>
-            <value>The namespace.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.XmlRead.Prefix">
-            <summary>
-            Gets or sets the prefix to associate with the namespace being added.
-            </summary>
-            <value>The namespace prefix.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.XmlUpdate">
-            <summary>
-            Updates a XML document using a XPath.
-            </summary>
-            <example>Update a XML element.
-            <code><![CDATA[
-            <XmlUpdate Prefix="n"
-                Namespace="http://schemas.microsoft.com/developer/msbuild/2003" 
-                XPath="/n:Project/n:PropertyGroup/n:TestUpdate"
-                XmlFileName="Subversion.proj"
-                Value="Test from $(MSBuildProjectFile)"/>
-            ]]></code>
-            </example>
-            <remarks>
-            The XML node being updated must exist before using the XmlUpdate task.
-            </remarks>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.XmlUpdate.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:XmlUpdate"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.XmlUpdate.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.XmlUpdate.XmlFileName">
-            <summary>
-            Gets or sets the name of the XML file.
-            </summary>
-            <value>The name of the XML file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.XmlUpdate.XPath">
-            <summary>
-            Gets or sets the XPath.
-            </summary>
-            <value>The XPath.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.XmlUpdate.Value">
-            <summary>
-            Gets or sets the value to write.
-            </summary>
-            <value>The value.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.XmlUpdate.Delete">
-            <summary>
-            Gets or sets a value indicating whether the matched node is deleted.
-            </summary>
-            <value><c>true</c> to delete matched node; otherwise, <c>false</c>.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.XmlUpdate.Namespace">
-            <summary>
-            Gets or sets the default namespace.
-            </summary>
-            <value>The namespace.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.XmlUpdate.Prefix">
-            <summary>
-            Gets or sets the prefix to associate with the namespace being added.
-            </summary>
-            <value>The namespace prefix.</value>
-        </member>
-        <member name="T:MSBuild.Community.Tasks.Zip">
-            <summary>
-            Create a zip file with the files specified.
-            </summary>
-            <example>Create a zip file
-            <code><![CDATA[
-            <ItemGroup>
-                <ZipFiles Include="**\*.*" Exclude="*.zip" />
-            </ItemGroup>
-            <Target Name="Zip">
-                <Zip Files="@(ZipFiles)" 
-                    ZipFileName="MSBuild.Community.Tasks.zip" />
-            </Target>
-            ]]></code>
-            Create a zip file using a working directory.
-            <code><![CDATA[
-            <ItemGroup>
-                <RepoFiles Include="D:\svn\repo\**\*.*" />
-            </ItemGroup>
-            <Target Name="Zip">
-                <Zip Files="@(RepoFiles)" 
-                    WorkingDirectory="D:\svn\repo" 
-                    ZipFileName="D:\svn\repo.zip" />
-            </Target>
-            ]]></code>
-            </example>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Zip.#ctor">
-            <summary>
-            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Zip"/> class.
-            </summary>
-        </member>
-        <member name="M:MSBuild.Community.Tasks.Zip.Execute">
-            <summary>
-            When overridden in a derived class, executes the task.
-            </summary>
-            <returns>
-            true if the task successfully executed; otherwise, false.
-            </returns>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Zip.ZipFileName">
-            <summary>
-            Gets or sets the name of the zip file.
-            </summary>
-            <value>The name of the zip file.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Zip.ZipLevel">
-            <summary>
-            Gets or sets the zip level. Default is 6.
-            </summary>
-            <value>The zip level.</value>
-            <remarks>0 - store only to 9 - means best compression</remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Zip.Zip64">
-            <summary>
-            Gets or sets whether to use ZIP64 extensions.
-            </summary>
-            <value><c>true</c> to use ZIP64 extensions when necessary; otherwise, <c>false</c>.</value>
-            <remarks>
-            When ZIP64 is specified, then ZIP64 extension is used when necessary.
-            For example, when a single entry exceeds 0xFFFFFFFF in size, or when the archive 
-            as a whole exceeds 0xFFFFFFFF in size, or when there are more than 65535 entries 
-            in an archive.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Zip.Files">
-            <summary>
-            Gets or sets the files to zip.
-            </summary>
-            <value>The files to zip.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Zip.Flatten">
-            <summary>
-            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Zip"/> is flatten.
-            </summary>
-            <value><c>true</c> if flatten; otherwise, <c>false</c>.</value>
-            <remarks>
-            Flattening the zip means that all directories will be removed 
-            and the files will be place at the root of the zip file
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Zip.Comment">
-            <summary>
-            Gets or sets the comment.
-            </summary>
-            <value>The comment.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Zip.WorkingDirectory">
-            <summary>
-            Gets or sets the working directory for the zip file.
-            </summary>
-            <value>The working directory.</value>
-            <remarks>
-            The working directory is the base of the zip file.  
-            All files will be made relative from the working directory.
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Zip.Password">
-            <summary>
-            Gets or sets the password.
-            </summary>
-            <value>The password.</value>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Zip.Encryption">
-            <summary>
-            Gets or sets the encryption algorithm.
-            </summary>
-            <value>The encryption algorithm.</value>
-            <remarks>
-            Possible values are None, PkzipWeak, WinZipAes128 and WinZipAes256
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Zip.ParallelCompression">
-            <summary>
-            Gets or sets whether parallel compression is used
-            </summary>
-            <value>Whether or not the files will be compressed in parallel.</value>
-            <remarks>
-            This is true by default
-            </remarks>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Zip.MinimalLogging">
-            <summary>
-            'Add' statement won't be logged with MinimalLogging enabled.
-            The default value for MinimalLogging is false.
-            </summary>
-        </member>
-        <member name="P:MSBuild.Community.Tasks.Zip.Quiet">
-            <summary>
-            Gets or sets a value indicating whether to output less information. Defaults to <c>false</c>.
-            </summary>
-            <value><c>false</c> to output a message for every file added to a zip; otherwise, <c>true</c>.</value>
-        </member>
-    </members>
-</doc>
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>MSBuild.Community.Tasks</name>
+    </assembly>
+    <members>
+        <member name="T:MSBuild.Community.Tasks.AspNet.InstallAspNet">
+            <summary>
+            Installs and register script mappings for ASP.NET
+            </summary>
+            <remarks>Uses the aspnet_regiis.exe tool included with the .NET Framework.</remarks>
+            <example>
+      Install the latest version of ASP.NET on the server:
+      <code>
+        <![CDATA[ <InstallAspNet /> ]]>
+      </code>
+    </example><example>
+      Install the latest version of ASP.NET on the server, but do not update script maps:
+      <code>
+        <![CDATA[ <InstallAspNet ApplyScriptMaps="Never" /> ]]>
+      </code>
+    </example><example>
+      Install the script maps for ASP.NET 2.0 on a web directory on the default website:
+      <code>
+        <![CDATA[ <InstallAspNet Path="MyApplication" Version="Version20" /> ]]>
+      </code>
+    </example><example>
+      Install the script maps for ASP.NET 1.1 on a web directory on a non-default website:
+      <code>
+        <![CDATA[ <InstallAspNet Path="MyApplication" Version="W3SVC/3/Root/Version11" /> ]]>
+      </code>
+    </example><example>
+      Install client side script only for the latest version:
+      <code>
+        <![CDATA[ <InstallAspNet ClientScriptsOnly="True" /> ]]>
+      </code>
+    </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.AspNet.InstallAspNet.GenerateFullPathToTool">
+            <summary>
+            Returns the fully qualified path to the executable file.
+            </summary>
+            <returns>
+            The fully qualified path to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.AspNet.InstallAspNet.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments 
+            to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass 
+            directly to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.AspNet.InstallAspNet.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            True if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.AspNet.InstallAspNet.IsValidPropertyCombinations">
+            <summary>
+            Determines if the current property values can be used together
+            </summary>
+            <returns><see langword="true"/> when properties can be used together.</returns>
+            <exclude />
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.Version">
+            <summary>
+            The version of ASP.NET to install
+            </summary>
+            <remarks>
+            The default behavior is to use the latest version of ASP.NET available on the computer.
+            <list type="table">
+            <listheader><term>Version</term></listheader>
+            <item><term>Version11</term><description>ASP.NET v1.1</description></item>
+            <item><term>Version20</term><description>ASP.NET v2.0</description></item>
+            <item><term>VersionLatest</term><description>The latest version of ASP.NET available</description></item>
+            </list>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.ApplyScriptMaps">
+            <summary>
+            The method used to determine if ASP.NET script mappings should be applied
+            </summary>
+            <remarks>
+            The default behavior is to register script mappings on all sites except those with a newer version of ASP.NET.
+            <list type="table">
+            <listheader><term>Value</term></listheader>
+            <item><term>Never</term><description>Register ASP.NET on the computer without updating any script mappings.</description></item>
+            <item><term>IfNoneExist</term><description>Register script mappings only on for sites that do not have any existing ASP.NET script mappings (not available for ASP.NET v1.1)</description></item>
+            <item><term>UnlessNewerExist</term><description>Register script mappings on all sites except those with a newer version of ASP.NET.</description></item>
+            <item><term>Always</term><description>Register script mappings on all sites, even if they already have a newer version of ASP.NET.</description></item>
+            </list>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.ClientScriptsOnly">
+            <summary>
+            When <see langword="true"/>, the aspnet_client scripts will be installed. No script mappings will be updated.
+            </summary>
+            <remarks>This cannot be <see langword="true"/> if a value for <see cref="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.Path"/> or <see cref="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.ApplyScriptMaps"/> has been specified.</remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.Path">
+            <summary>
+            The web application that should have its script maps updated.
+            </summary>
+            <remarks>
+            The path must be of the form W3SVC/[instance]/Root/[webdirectory], for example W3SVC/1/Root/SampleApp1.
+            As a shortcut, you can specify just the web directory name,
+            if the web directory is installed in the default website instance (W3SVC/1/Root).
+            <para>You should not specify a value for <see cref="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.ApplyScriptMaps"/> when specifying a path.</para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.Recursive">
+            <summary>
+            When <see langword="true"/>, script maps are applied recursively under <see cref="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.Path"/>.
+            </summary>
+            <remarks>This property is only valid when specifying a value for <see cref="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.Path"/>. It is <see langword="true"/> by default.</remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AspNet.InstallAspNet.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>The name of the executable file to run.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.AssemblyInfo">
+            <summary>
+            Generates an AssemblyInfo files
+            </summary>
+            <example>
+            <para>Generates a common version file.</para>
+            <code><![CDATA[
+            <AssemblyInfo CodeLanguage="CS"  
+                OutputFile="VersionInfo.cs" 
+                AssemblyVersion="1.0.0.0" 
+                AssemblyFileVersion="1.0.0.0" />
+            ]]></code>
+            <para>Generates a complete version file.</para>
+            <code><![CDATA[
+            <AssemblyInfo CodeLanguage="CS"  
+                OutputFile="$(MSBuildProjectDirectory)\Test\GlobalInfo.cs" 
+                AssemblyTitle="AssemblyInfoTask" 
+                AssemblyDescription="AssemblyInfo Description"
+                AssemblyConfiguration=""
+                AssemblyCompany="Company Name, LLC"
+                AssemblyProduct="AssemblyInfoTask"
+                AssemblyCopyright="Copyright (c) Company Name, LLC 2006"
+                AssemblyTrademark=""
+                ComVisible="false"
+                CLSCompliant="true"
+                Guid="d038566a-1937-478a-b5c5-b79c4afb253d"
+                AssemblyVersion="1.0.0.0" 
+                AssemblyFileVersion="1.0.0.0" />
+            ]]></code>
+            <para>Generates a complete version file for C++/CLI.</para>
+            <code><![CDATA[
+            <AssemblyInfo CodeLanguage="CPP"  
+                OutputFile="$(MSBuildProjectDirectory)\Properties\AssemblyInfo.cpp"
+                AssemblyTitle="MyAssembly" 
+                AssemblyDescription="MyAssembly Description"
+                AssemblyConfiguration="$(Configuration)"
+                AssemblyCompany="Company Name, LLC"
+                AssemblyProduct="MyAssembly"
+                AssemblyCopyright="Copyright (c) Company Name, LLC 2008"
+                AssemblyTrademark=""
+                ComVisible="false"
+                CLSCompliant="true"
+                Guid="d038566a-1937-478a-b5c5-b79c4afb253d"
+                AssemblyVersion="1.0.0.0" 
+                AssemblyFileVersion="1.0.0.0"
+                UnmanagedCode="true" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.AssemblyInfo.DEFAULT_OUTPUT_FILE">
+            <summary>
+            The default value of <see cref="P:MSBuild.Community.Tasks.AssemblyInfo.OutputFile"/>.
+            The value is <c>"AssemblyInfo.cs"</c>.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.AssemblyInfo.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.AssemblyInfo"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.AssemblyInfo.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.CodeLanguage">
+            <summary>
+            Gets or sets the code language.
+            </summary>
+            <value>The code language.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.ComVisible">
+            <summary>
+            Gets or sets a value indicating whether [COMVisible].
+            </summary>
+            <value><c>true</c> if [COMVisible]; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.CLSCompliant">
+            <summary>
+            Gets or sets a value indicating whether [CLSCompliant].
+            </summary>
+            <value><c>true</c> if [CLSCompliant]; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.Guid">
+            <summary>
+            Gets or sets the GUID.
+            </summary>
+            <value>The GUID.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyTitle">
+            <summary>
+            Gets or sets the assembly title.
+            </summary>
+            <value>The assembly title.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyDescription">
+            <summary>
+            Gets or sets the assembly description.
+            </summary>
+            <value>The assembly description.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyConfiguration">
+            <summary>
+            Gets or sets the assembly configuration.
+            </summary>
+            <value>The assembly configuration.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyCompany">
+            <summary>
+            Gets or sets the assembly company.
+            </summary>
+            <value>The assembly company.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyProduct">
+            <summary>
+            Gets or sets the assembly product.
+            </summary>
+            <value>The assembly product.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyCopyright">
+            <summary>
+            Gets or sets the assembly copyright.
+            </summary>
+            <value>The assembly copyright.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyTrademark">
+            <summary>
+            Gets or sets the assembly trademark.
+            </summary>
+            <value>The assembly trademark.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyCulture">
+            <summary>
+            Gets or sets the assembly culture.
+            </summary>
+            <value>The assembly culture.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyVersion">
+            <summary>
+            Gets or sets the assembly version.
+            </summary>
+            <value>The assembly version.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyFileVersion">
+            <summary>
+            Gets or sets the assembly file version.
+            </summary>
+            <value>The assembly file version.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyInformationalVersion">
+            <summary>
+            Gets or sets the assembly informational version.
+            </summary>
+            <value>The assembly informational version.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyKeyFile">
+            <summary>
+            Gets or sets the assembly key file.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyKeyName">
+            <summary>
+            Gets or sets the assembly key name.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AssemblyDelaySign">
+            <summary>
+            Gets or sets the assembly delay sign value.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.SkipVerification">
+            <summary>
+            Gets or sets the assembly delay sign value.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.UnmanagedCode">
+            <summary>
+            Gets or sets the assembly delay sign value.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.GenerateClass">
+            <summary>
+            Gets or sets a value indicating whether to generate the ThisAssmebly class.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.NeutralResourcesLanguage">
+            <summary>
+            Gets or sets the neutral language which is used as a fallback language configuration 
+            if the locale on the computer isn't supported. Example is setting this to "en-US".
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.UltimateResourceFallbackLocation">
+            <summary>
+            Gets or sets the ultimate resource fallback location.
+            </summary>
+            <value>The ultimate resource fallback location.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.InternalsVisibleTo">
+            <summary>
+            Makes it possible to make certain assemblies able to use constructs marked as internal.
+            Example might be setting this value to "UnitTests" assembly. The typical use case might 
+            be constructors in classes which shouldn't be available to other assemblies, but the unit
+            tests should be able to use them.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.AllowPartiallyTrustedCallers">
+            <summary>
+            Gets or sets whether to allow strong-named assemblies to be called by partially trusted code.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.AssemblyInfo.OutputFile">
+            <summary>
+            Gets or sets the output file.
+            </summary>
+            <value>The output file.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Attrib">
+            <summary>
+            Changes the attributes of files and/or directories
+            </summary>
+            <example>
+            <para>Make file Readonly, Hidden and System.</para>
+            <code><![CDATA[
+            <Attrib Files="Test\version.txt" 
+                ReadOnly="true" Hidden="true" System="true"/>
+            ]]></code>
+            <para>Clear Hidden and System attributes.</para>
+            <code><![CDATA[
+            <Attrib Files="Test\version.txt" 
+                Hidden="false" System="false"/>
+            ]]></code>
+            <para>Make file Normal.</para>
+            <code><![CDATA[
+            <Attrib Files="Test\version.txt" 
+                Normal="true"/>
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Attrib.Execute">
+            <summary>
+            Executes the task.
+            </summary>
+            <returns><see langword="true"/> if the task ran successfully; 
+            otherwise <see langword="false"/>.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Attrib.Files">
+            <summary>
+            Gets or sets the list of files to change attributes on.
+            </summary>
+            <value>The files to change attributes on.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Attrib.Directories">
+            <summary>
+            Gets or sets the list of directories to change attributes on.
+            </summary>
+            <value>The directories to change attributes on.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Attrib.Archive">
+            <summary>
+            Gets or sets file's archive status.
+            </summary>
+            <value><c>true</c> if archive; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Attrib.Compressed">
+            <summary>
+            Gets or sets a value indicating file is compressed.
+            </summary>
+            <value><c>true</c> if compressed; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Attrib.Encrypted">
+            <summary>
+            Gets or sets a value indicating file is encrypted.
+            </summary>
+            <value><c>true</c> if encrypted; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Attrib.Hidden">
+            <summary>
+            Gets or sets a value indicating file is hidden, and thus is not included in an ordinary directory listing.
+            </summary>
+            <value><c>true</c> if hidden; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Attrib.Normal">
+            <summary>
+            Gets or sets a value indicating file is normal and has no other attributes set.
+            </summary>
+            <value><c>true</c> if normal; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Attrib.ReadOnly">
+            <summary>
+            Gets or sets a value indicating file is read-only.
+            </summary>
+            <value><c>true</c> if read-only; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Attrib.System">
+            <summary>
+            Gets or sets a value indicating file is a system file.
+            </summary>
+            <value><c>true</c> if system; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.ByteDescriptions">
+            <summary>
+            Describes certain byte measurements as nice strings.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Computer">
+            <summary>
+            Provides information about the build computer.
+            </summary>
+            <example>Get build computer information.
+            <code><![CDATA[
+            <Computer>
+              <Output TaskParameter="Name" PropertyName="BuildMachineName" />
+              <Output TaskParameter="IPAddress" PropertyName="BuildMachineIPAddress" />
+              <Output TaskParameter="IPAddressV4" PropertyName="BuildMachineIPAddressV4" />
+              <Output TaskParameter="OSPlatform" PropertyName="BuildMachineOSPlatform" />
+              <Output TaskParameter="OSVersion" PropertyName="BuildMachineOSVersion" />
+            </Computer>
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Computer.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Computer"/> class.
+            </summary>        
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Computer.Execute">
+            <summary>
+            Executes the task.
+            </summary>
+            <returns>
+            <see langword="true"/> if the task ran successfully; otherwise <see langword="false"/>.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Computer.Name">
+            <summary>
+            Gets the host name of the build computer.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Computer.IPAddress">
+            <summary>
+            Gets the IP address of the build computer.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Computer.IPAddressV4">
+            <summary>
+            Gets the IP v4 address of the build computer.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Computer.OSPlatform">
+            <summary>
+            Gets the platform identifier of the build computer's operating system .
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Computer.OSVersion">
+            <summary>
+            Gets the version number of the build computer's operating system.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Beep">
+            <summary>
+            A task to play the sound of a beep through the console speaker.
+            </summary>
+            <remarks>
+      By default, the beep plays at a frequency of 800 hertz for a duration of 200 milliseconds.
+    </remarks><example>
+      To play the sound of a beep at a frequency of 800 hertz and for a duration of 200 milliseconds, use
+      <code>
+        <![CDATA[<Beep />]]>
+      </code>
+    </example><example>
+      To play the sound of a beep at a frequency of 440 hertz and for a duration of 300 milliseconds, use
+      <code>
+        <![CDATA[<Beep Frequency="440" Duration="300" />]]>
+      </code>
+    </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Beep.Execute">
+            <summary>
+            Plays the sound of a beep 
+            at the given <see cref="P:MSBuild.Community.Tasks.Beep.Frequency"/> and for the given <see cref="P:MSBuild.Community.Tasks.Beep.Duration"/> 
+            through the console speaker.
+            </summary>
+            <returns>
+            Always returns <see langword="true"/>, even when the sound could not be played.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Beep.Frequency">
+            <summary>
+            Gets or sets the frequency of the beep, ranging from 37 to 32767 hertz.
+            Defaults to 800 hertz.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Beep.Duration">
+            <summary>
+            Gets or sets the of the beep measured in milliseconds.
+            Defaults to 200 milliseconds.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.DeleteTree">
+            <summary>
+            Delete a directory tree.  This task supports wild card directory selection.
+            </summary>
+            <example>
+            <para>Delete all bin and obj directories.</para>
+            <code><![CDATA[
+            <DeleteTree Directories="**\bin;**\obj" />
+            ]]></code>
+            <para>Delete all bin and obj directories that start with MSBuild.Community.</para>
+            <code><![CDATA[
+            <DeleteTree Directories="MSBuild.Community.*\**\bin;MSBuild.Community.*\**\obj" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.DeleteTree.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.DeleteTree"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.DeleteTree.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.DeleteTree.Directories">
+            <summary>
+            Gets or sets the directories to be deleted.
+            </summary>
+            <value>The directories to be deleted.</value>
+            <remarks>
+            Directories can contain wild cards.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.DeleteTree.Recursive">
+            <summary>
+            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.DeleteTree"/> is recursive.
+            </summary>
+            <value><c>true</c> if recursive; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.DeleteTree.DeletedDirectories">
+            <summary>
+            Gets the deleted directories.
+            </summary>
+            <value>The deleted directories.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.EmbedNativeResource">
+            <summary>
+            A task for embedded native resource.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.EmbedNativeResource.Execute">
+            <summary>
+            Executes the task.
+            </summary>
+            <returns>Success or failure of the task.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.EmbedNativeResource.TargetAssemblyPath">
+            <summary>
+            Gets or sets the target assembly path.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.EmbedNativeResource.ResourcePath">
+            <summary>
+            Gets or sets the resource path.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.EmbedNativeResource.ResourceName">
+            <summary>
+            Gets or sets the resource name.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.EmbedNativeResource.ResourceType">
+            <summary>
+            Gets or sets the resource type.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.FtpUpload">
+            <summary>
+            Uploads a group of files using File Transfer Protocol (FTP).
+            </summary>
+            <remarks>
+            Set either LocalFiles or LocalFile but not both.
+            </remarks>
+            <example>Upload a file.
+            <code><![CDATA[
+            <FtpUpload 
+                LocalFile="MSBuild.Community.Tasks.zip" 
+                RemoteUri="ftp://localhost/" />
+            ]]></code>
+            
+            Upload all the files in an ItemGroup:
+            <code><![CDATA[
+            <FtpUpload
+                Username="username"
+                Password="password"
+                UsePassive="true"
+                RemoteUri="ftp://webserver.com/httpdocs/"
+                LocalFiles="@(FilesToUpload)"
+                RemoteFiles="@(FilesToUpload->'%(RecursiveDir)%(Filename)%(Extension)')" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.IFtpWebRequestCreator">
+            <summary>
+            Describes a factory for IFtpWebRequest.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.IFtpWebRequestCreator.Create(System.Uri,System.String)">
+            <summary>
+            Instantiates an FtpWebRequest.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.FtpUpload.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:FtpUpload"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.FtpUpload.#ctor(MSBuild.Community.Tasks.IFtpWebRequestCreator)">
+            <summary>
+            Initializes a new instance that will inject the specified dependency.
+            </summary>
+            <param name="requestCreator"></param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.FtpUpload.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FtpUpload.LocalFile">
+            <summary>
+            Gets or sets the single file to upload.  Use
+            this or LocalFiles, but not both.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FtpUpload.LocalFiles">
+            <summary>
+            Gets or sets the local files to upload.  Use this
+            or LocalFile, but not both.
+            </summary>
+            <value>The local file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FtpUpload.RemoteFiles">
+            <summary>
+            Gets or sets the remote files to upload.
+            Each item in this list should have a corresponding item in LocalFiles.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FtpUpload.RemoteUri">
+            <summary>
+            Gets or sets the remote URI to upload.
+            </summary>
+            <value>The remote URI.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FtpUpload.Username">
+            <summary>
+            Gets or sets the username.
+            </summary>
+            <value>The username.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FtpUpload.Password">
+            <summary>
+            Gets or sets the password.
+            </summary>
+            <value>The password.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FtpUpload.UsePassive">
+            <summary>
+            Gets or sets the behavior of a client application's data transfer process.
+            </summary>
+            <value><c>true</c> if [use passive]; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FtpUpload.KeepAlive">
+            <summary>
+            Gets or sets a value that indicates whether to make a persistent connection to the Internet resource.
+            </summary>        
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FtpUpload.Timeout">
+            <summary>
+            Gets or sets the time-out value in milliseconds
+            </summary>  
+            <value>The number of milliseconds to wait before the request times out. The default value is 7000 milliseconds (7 seconds).</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.IFtpWebRequest">
+            <summary>
+            This class references an interface that looks like FtpWebRequest
+            in order to support unit testing without an actual FTP Server.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.IFtpWebRequest.SetContentLength(System.Int64)">
+            <summary>
+            Sets the ContentLength property of the FtpWebRequest.
+            </summary>
+            <param name="length"></param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.IFtpWebRequest.GetRequestStream">
+            <summary>
+            Calls GetRequestStream on the FtpWebRequest.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.IFtpWebRequest.GetStatusDescriptionAndCloseResponse">
+            <summary>
+            Gets the StatusDescription property of the response, then closes the response
+            on the FtpWebRequest.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.IFtpWebRequest.GetAndCloseResponse">
+            <summary>
+            Gets the response from the FTP server and closes it.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.IFtpWebRequest.GetResponseStream">
+            <summary>
+            Gets the response stream from the FtpWebRequest.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.RealFtpWebRequest">
+            <summary>
+            An adapter to make the real FtpWebRequest look like
+            an IFtpWebRequest.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.RealFtpWebRequest.#ctor(System.Net.FtpWebRequest)">
+            <summary>
+            Initializes a new instance of the RealFtpWebRequest class.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase">
+            <summary>
+            Ftp client base class.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase._clientSocket">
+            <summary>
+            The socket that will connect to the FTP server.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase._bufferSize">
+            <summary>
+            The size of the data buffer.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase._lastReply">
+            <summary>
+            The last recieved FTP response over the client socket.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase._password">
+            <summary>
+            The password to use to login.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase._port">
+            <summary>
+            The port number of the FTP server.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase._serverhost">
+            <summary>
+            The hostname of the FTP server.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase._username">
+            <summary>
+            The username to use to login.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.Connect">
+            <summary>
+            Connects this FTP server socket.
+            </summary>
+            <exception cref="T:MSBuild.Community.Tasks.Ftp.FtpException">Thrown when unable to connect.</exception>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.Login">
+            <summary>
+            Login to the FTP server with the specified credentials.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.ChangeWorkingDirectory(System.String)">
+            <summary>
+            Changes the working directory.
+            </summary>
+            <param name="remoteDirectory">The remote directory.</param>
+            <exception cref="T:MSBuild.Community.Tasks.Ftp.FtpException">Occurs if there where connection problems during the process or the FTP server doesn't support the CWD command. See the Message of the exception for details.</exception>
+            <remarks>Sends the CWD command.</remarks>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.GetWorkingDirectory">
+            <summary>
+            Gets the working directory.
+            </summary>
+            <returns>The current working directory.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.CdUp">
+            <summary>
+            Change to the parent of the current working directory.
+            </summary>
+            <exception cref="T:MSBuild.Community.Tasks.Ftp.FtpException">Occurs if there where connection problems during the process or the FTP server doesn't support the CDUP command. See the Message of the exception for details.</exception>
+            <remarks>Sends the CDUP command.</remarks>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.FileExists(System.String)">
+            <summary>
+            Determs whether a remote file exists.
+            </summary>
+            <param name="remoteFile">The remote file.</param>
+            <returns></returns>
+            <exception cref="T:MSBuild.Community.Tasks.Ftp.FtpException">Occurs if there where connection problems during the operation or if the FTP server doesn't support the SIZE command. See the Message of the exception for details.</exception>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.DirectoryExists(System.String)">
+            <summary>
+            Determs whether a remote directory exists.
+            </summary>
+            <param name="remoteDirectory">The remote directory.</param>
+            <remarks>
+            This method is based on the succeedness of a CWD command, this can give wrong indication at a rare number of FTP server!
+            </remarks>
+            <exception cref="T:MSBuild.Community.Tasks.Ftp.FtpException">Thrown if the opperation couldn't be executed.</exception>
+            <returns><c>true</c> if the directory exists remotely; otherwise <c>false</c></returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.RemoveDirectory(System.String)">
+            <summary>
+            Removes a remote directory.
+            </summary>
+            <param name="directoryName">The remote directory name.</param>
+            <exception cref="T:MSBuild.Community.Tasks.Ftp.FtpException">Occurs if there where connection problems during the process or the FTP server doesn't support the RMD command. See the Message of the exception for details.</exception>
+            <remarks>Sends the RMD command.</remarks>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.MakeDirectory(System.String)">
+            <summary>
+            Creates a remote directory in the current working folder.
+            </summary>
+            <param name="directoryName">Name of the directory.</param>
+            <exception cref="T:MSBuild.Community.Tasks.Ftp.FtpException">Occurs if there where connection problems during the process or the FTP server doesn't support the MMD command. See the Message of the exception for details.</exception>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.Close">
+            <summary>
+            Closes the connection to the server.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.Store(System.String,System.String)">
+            <summary>
+            Stores the specified localFile.
+            </summary>
+            <param name="localFile">The localfile.</param>
+            <param name="remoteFileName">The remotefile.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.SendCommand(System.String,System.String)">
+            <summary>
+            Send a command to the FTP server.
+            </summary>
+            <param name="command">The command, for example PWD.</param>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.SendCommand(System.String)">
+            <summary>
+            Send a command to the FTP server.
+            </summary>
+            <param name="rawCommand">The full command to send.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.SendCommandAndReadResponse(System.String,System.String)">
+            <summary>
+            Send a command to the FTP server and returns the response.
+            </summary>
+            <param name="command">The command, for example PWD.</param>
+            <param name="value">The value</param>
+            <returns>The reply of the FTP server for this command.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.SendCommandAndReadResponse(System.String)">
+            <summary>
+            Send a command to the FTP server and returns the response.
+            </summary>
+            <param name="rawCommand">The raw command to send.</param>
+            <returns>The reply of the FTP server for this command.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.GetDirectoryDetails">
+            <summary>
+            Get the full directory details of the current directory.
+            </summary>
+            <returns>A array that contains all the FTP files located in the currenct directory.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.CreateDataStreamAndSendCommand(System.String)">
+            <summary>
+            Create a data stream and send a raw command.
+            </summary>
+            <param name="rawCommand">The raw command to send.</param>
+            <returns>The data stream that was created.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.ParseDataEndPointFromMessage(System.String)">
+            <summary>
+            Parses the data IP end point from datarequest message.
+            </summary>
+            <param name="message">The message.</param>
+            <returns></returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.GetDirectoryDetails(System.String)">
+            <summary>
+            Get the full directory details of the current directory.
+            </summary>
+            <param name="remoteDirectory">The remove directory, emtpy or <c>null</c> will get the details of the current directory.</param>
+            <returns>A array that contains all the FTP files located in the currenct directory.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.ReadResponse">
+            <summary>
+            Reads the ftp response from the client socket.
+            </summary>
+            <returns>The response of the FTP server.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.ReadResponseString">
+            <summary>
+            Reads the response string from the client socket.
+            </summary>
+            <returns>The response of the client socket.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.CloseAndTrowException(System.Exception)">
+            <summary>
+            Make sure the connections are closed and trow the specified exception.
+            </summary>
+            <param name="exception">The exception to throw.</param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.ServerHost">
+            <summary>
+            Gets or sets the server host.
+            </summary>
+            <value>The server host.</value>
+            <exception cref="T:System.ArgumentOutOfRangeException">The lenght of the given value is greater then 126 characters.</exception>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.Port">
+            <summary>
+            Gets or sets the port number.
+            </summary>
+            <value>The port numer.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.ClientSocket">
+            <summary>
+            Gets or sets the client socket.
+            </summary>
+            <value>The client socket.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.Connected">
+            <summary>
+            Gets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase"/> is connected.
+            </summary>
+            <value><c>true</c> if connected; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.ConversationEncoding">
+            <summary>
+            Gets the encoding to use with communication with the server.
+            </summary>
+            <value>The encoding.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.LastReply">
+            <summary>
+            Gets the last recieved FTP response over the client socket.
+            </summary>
+            <value>The last recieved FTP response over the client socket.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.Username">
+            <summary>
+            Gets or sets the username to login.
+            </summary>
+            <value>The username.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.Password">
+            <summary>
+            Gets or sets the password to login.
+            </summary>
+            <value>The password.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.LogFtpMessageConversation">
+            <summary>
+            Gets or sets a value indicating whether the FTP message conversation should be logged.
+            </summary>
+            <value>
+            	<c>true</c> if the FTP message conversation should be logged; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Ftp.FtpClientTaskBase.BufferSize">
+            <summary>
+            Gets or sets the size of the data buffer.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Ftp.FtpCreateRemoteDirectory">
+            <summary>
+            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.
+            </summary>
+            <example>Create remote directory:
+            <code><![CDATA[
+            <FtpCreateRemoteDirectoty 
+                ServerHost="ftp.myserver.com"
+                Port="42"
+                RemoteDirectory="Directory\Subdirectory\MyOtherSubdirectory"
+                Username="user"
+                Password="p@ssw0rd"
+            />
+            ]]></code>
+            </example>
+            <remarks>The full remote directory path will be created. All directories that doesn't exists on the remote server will be created.</remarks>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Ftp.FtpCreateRemoteDirectory._remoteDirectory">
+            <summary>
+            The remote directory to create.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpCreateRemoteDirectory.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Ftp.FtpCreateRemoteDirectory.RemoteDirectory">
+            <summary>
+            Gets or sets the remote directory to create.
+            </summary>
+            <value>The remote directory.</value>
+            <example>This can be one directory name, like <c>"Directory"</c>, or a directory path, like <c>"Directory\Subdirectoy"</c>.
+            </example>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Ftp.FtpDirectoryExists">
+            <summary>
+            Determ if a remote directory exists on a FTP server or not.
+            </summary>
+            <example>Determ of Directory\1 exists:
+            <code><![CDATA[
+            <Target Name="CheckIfDirectoryExists">
+                <FtpDirectoryExists 
+                    ServerHost="ftp.myserver.com"
+                    Port="42"
+                    RemoteDirectory="1\2\3"
+                    Username="user"
+                    Password="p@ssw0rd"
+                >
+                    <Output TaskParameter="Exists" PropertyName="Exists" /> 
+                </FtpDirectoryExists>
+                <Message Text="Directory '1\2\3' exists: $(Exists)"/>
+            ]]></code>
+            If the directory exists on the server you should see the following output in the console:
+            <c>Directory '1\2\3' exists: true</c>
+            </example>
+            <remarks>The full remote directory path will be created. All directories that doesn't exists on the remote server will be created.</remarks>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Ftp.FtpDirectoryExists._remoteDirectory">
+            <summary>
+            The remote directory to create.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Ftp.FtpDirectoryExists._exists">
+            <summary>
+            Flag that indicates whether the directory exists on the server.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpDirectoryExists.Execute">
+            <summary>
+             Executes the current task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Ftp.FtpDirectoryExists.RemoteDirectory">
+            <summary>
+            Gets or sets the remote directory to create.
+            </summary>
+            <value>The remote directory.</value>
+            <example>This can be one directory name, like <c>"Directory"</c>, or a directory path, like <c>"Directory\Subdirectoy"</c>.
+            </example>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Ftp.FtpDirectoryExists.Exists">
+            <summary>
+            Gets an indication whether the directory exists on the server.
+            </summary>
+            <value><c>true</c> when the directory exists on the server; otherwise <c>false</c>.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Ftp.FtpException">
+            <summary>
+            Exception returned by FTP server.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpException.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Ftp.FtpException"/> class.
+            </summary>
+            <param name="message">The message.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpException.#ctor(System.String,System.Exception)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Ftp.FtpException"/> class.
+            </summary>
+            <param name="message">The message.</param>
+            <param name="innerException">The inner exception.</param>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Ftp.FtpEntry">
+            <summary>
+            Represents an remote file or directory on a FTP server.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Ftp.FtpEntry._isDirectory">
+            <summary>
+            Indicates whether this instance represents a directory.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Ftp.FtpEntry._name">
+            <summary>
+            Represents the file or directory name.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpEntry.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Ftp.FtpEntry"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpEntry.#ctor(System.Boolean,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Ftp.FtpEntry"/> class.
+            </summary>
+            <param name="isDirectory">if set to <c>true</c> this instance represents a directory; otherwise, <c>false</c>.</param>
+            <param name="name">The name.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpEntry.ParseDirList(System.String[])">
+            <summary>
+            Parses the dir list.
+            </summary>
+            <param name="entryLines">The entry lines.</param>
+            <returns></returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Ftp.FtpEntry.IsDirectory">
+            <summary>
+            Gets or sets a value indicating whether this instance represents a directory.
+            </summary>
+            <value>
+            	<c>true</c> if this instance represents a directory; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Ftp.FtpEntry.Name">
+            <summary>
+            Gets or sets the name.
+            </summary>
+            <value>The name.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Ftp.FtpReply">
+            <summary>
+            Represenatation of a FTP reply message.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Ftp.FtpReply._resultCode">
+            <summary>
+            The result code of the FTP response.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Ftp.FtpReply._message">
+            <summary>
+            The response message.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpReply.#ctor(System.Int32,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Ftp.FtpReply"/> class.
+            </summary>
+            <param name="resultCode">The result code of the FTP response.</param>
+            <param name="message">The response message.</param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Ftp.FtpReply.ResultCode">
+            <summary>
+            Gets or sets the result code.
+            </summary>
+            <value>The result code.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Ftp.FtpReply.Message">
+            <summary>
+            Gets or sets the message.
+            </summary>
+            <value>The message.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Ftp.FtpUploadDirectoryContent">
+            <summary>
+            Uploads a full directory content to a remote directory.
+            </summary>
+            <example>Uploads directory content, including all subdirectories and subdirectory content:
+            <code><![CDATA[
+            <Target Name="DeployWebsite">
+                <FtpUploadDirectoryContent 
+                    ServerHost="ftp.myserver.com"
+                    Port="42"
+                    Username="user"
+                    Password="p@ssw0rd"
+                    LocalDirectory="c:\build\mywebsite"
+                    RemoteDirectory="root\www\mywebsite"
+                    Recursive="true"
+                />
+            ]]></code>
+            To go a little step further. If the local directory looked like this:
+            <code>
+            [mywebsite]
+                [images]
+                    1.gif
+                    2.gif
+                    3.gif
+                [js]
+                    clientscript.js
+                    nofocus.js
+                [css]
+                    print.css
+                    main.css
+                index.htm
+                contact.htm
+                downloads.htm
+            </code>
+            All directories and there content will be uploaded and a excact copy of the content of <c>mywebsite</c> directory will be created remotely.
+            <remarks>
+            If <see cref="P:MSBuild.Community.Tasks.Ftp.FtpUploadDirectoryContent.Recursive"/> is set the <c>false</c>; only index.htm, contact.htm and downloads.htm will be uploaded and no subdirectories will be created remotely.
+            </remarks>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpUploadDirectoryContent.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpUploadDirectoryContent.UploadDirectory(System.String,System.Boolean)">
+            <summary>
+            Upload a directory and its file contents.
+            </summary>
+            <param name="localPath">The local path.</param>
+            <param name="recurse">if set to <c>true</c> all subdurectiries will be included.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Ftp.FtpUploadDirectoryContent.UploadDirectory(System.String,System.String,System.Boolean)">
+            <summary>
+            Upload a directory and its file contents.
+            </summary>
+            <param name="localPath">The local path.</param>
+            <param name="mask">Only upload files that compli to the mask.</param>
+            <param name="recursive">if set to <c>true</c> all subdurectiries will be included.</param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Ftp.FtpUploadDirectoryContent.LocalDirectory">
+            <summary>
+            Gets or sets the local directory that contains the content to upload.
+            </summary>
+            <value>The local directory.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Ftp.FtpUploadDirectoryContent.RemoteDirectory">
+            <summary>
+            Gets or sets the remote directory destination for the local files.
+            </summary>
+            <value>The remote directory.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Ftp.FtpUploadDirectoryContent.Recursive">
+            <summary>
+            Gets or sets a value indicating whether the subdirectories of the local directory should be created remotely and the content of these should also be uploaded.
+            </summary>
+            <value><c>true</c> if recursive; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Fusion.UninstallStatus">
+            <summary>
+            The status of an uninstall.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Fusion.UninstallStatus.None">
+            <summary>
+            No status.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Fusion.UninstallStatus.Uninstalled">
+            <summary>
+            Uninstalled successfully.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Fusion.UninstallStatus.StillInUse">
+            <summary>
+            Assembly is still in use.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Fusion.UninstallStatus.AlreadyUninstalled">
+            <summary>
+            Assembly already uninstalled or not found.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Fusion.UninstallStatus.DeletePending">
+            <summary>
+            Assembly delete is pending.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Fusion.UninstallStatus.HasInstallReferences">
+            <summary>
+            Assembly has a reference to an installed application.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Fusion.UninstallStatus.ReferenceNotFound">
+            <summary>
+            Assembly not found.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Fusion.FusionWrapper">
+            <summary>
+            A class wrapping fusion api calls
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Fusion.FusionWrapper.InstallAssembly(System.String,System.Boolean)">
+            <summary>
+            Installs the assembly.
+            </summary>
+            <param name="assemblyPath">The assembly path.</param>
+            <param name="force">if set to <c>true</c> force.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Fusion.FusionWrapper.UninstallAssembly(System.String,System.Boolean)">
+            <summary>
+            Uninstalls the assembly.
+            </summary>
+            <param name="assemblyName">Name of the assembly.</param>
+            <param name="force">if set to <c>true</c> force.</param>
+            <returns>Returns <c>true</c> if uninstall successful.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Fusion.FusionWrapper.UninstallAssembly(System.String,System.Boolean,MSBuild.Community.Tasks.Fusion.UninstallStatus@)">
+            <summary>
+            Uninstalls the assembly.
+            </summary>
+            <param name="assemblyName">Name of the assembly.</param>
+            <param name="force">if set to <c>true</c> force.</param>
+            <param name="result">The UninstallStatus result.</param>
+            <returns>Returns <c>true</c> if uninstall successful.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Fusion.FusionWrapper.GetAssemblyPath(System.String)">
+            <summary>
+            Gets the assembly path.
+            </summary>
+            <param name="assemblyName">Name of the assembly.</param>
+            <returns>The path to the assembly in the GAC.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Fusion.FusionWrapper.GetAssemblyName(System.String)">
+            <summary>
+            Gets the name of the assembly.
+            </summary>
+            <param name="assemblyName">Name of the assembly.</param>
+            <returns>An <see cref="T:System.Reflection.AssemblyName"/> instance.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Git.GitDescribe">
+            <summary>
+            A task for git to get the most current tag, commit count since tag, and commit hash.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Git.GitClient">
+            <summary>
+            A task for Git commands.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitClient.#ctor">
+            <summary>
+            Default constructor. Creates a new GitClient task.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitClient.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitClient.GenerateCommand(Microsoft.Build.Utilities.CommandLineBuilder)">
+            <summary>
+            Generates the command.
+            </summary>
+            <param name="builder">The builder.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitClient.GenerateArguments(Microsoft.Build.Utilities.CommandLineBuilder)">
+            <summary>
+            Generates the arguments.
+            </summary>
+            <param name="builder">The builder.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitClient.GenerateFullPathToTool">
+            <summary>
+            Returns the fully qualified path to the executable file.
+            </summary>
+            <returns>
+            The fully qualified path to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitClient.LogToolCommand(System.String)">
+            <summary>
+            Logs the starting point of the run to all registered loggers.
+            </summary>
+            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitClient.ValidateParameters">
+            <summary>
+            Indicates whether all task paratmeters are valid.
+            </summary>
+            <returns>
+            true if all task parameters are valid; otherwise, false.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitClient.GetWorkingDirectory">
+            <summary>
+            Returns the directory in which to run the executable file.
+            </summary>
+            <returns>
+            The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Git.GitClient.Command">
+            <summary>
+            Gets or sets the command to run.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Git.GitClient.Arguments">
+            <summary>
+            Gets or sets the raw arguments to pass to the git command.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Git.GitClient.LocalPath">
+            <summary>
+            Gets or sets the local or working path for git command.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Git.GitClient.StandardOutputLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Git.GitClient.StandardErrorLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Git.GitClient.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <returns>
+            The name of the executable file to run.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitDescribe.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Git.GitDescribe"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitDescribe.GenerateArguments(Microsoft.Build.Utilities.CommandLineBuilder)">
+            <summary>
+            Make sure we specify abbrev=40 to get full CommitHash
+            </summary>
+            <param name="builder"></param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitDescribe.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
+            <summary>
+            Parses a single line of text to identify any errors or warnings in canonical format.
+            </summary>
+            <param name="singleLine">A single line of text for the method to parse.</param>
+            <param name="messageImportance">A value of <see cref="T:Microsoft.Build.Framework.MessageImportance"/> that indicates the importance level with which to log the message.</param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Git.GitDescribe.CommitCount">
+            <summary>
+            Gets the number of commits in this branch since the last tag
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Git.GitDescribe.CommitHash">
+            <summary>
+            Gets or sets the commit hash.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Git.GitDescribe.Tag">
+            <summary>
+            Gets the last tagname for this branch
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Git.GitDescribe.ErrorMessage">
+            <summary>
+            Not active yet
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Git.GitDescribe.SoftErrorMode">
+            <summary>
+            When true, any processing errors will push error status out into <see cref="P:MSBuild.Community.Tasks.Git.GitDescribe.Tag"/>
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Git.GitBranch">
+            <summary>
+            A task to get the name of the branch or tag of git repository
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitBranch.#ctor">
+            <summary>
+            Default constructor
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitBranch.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
+            <summary>
+            Parse the output of the console and gets the Branch or Tag.
+            </summary>
+            <param name="singleLine">the line being parsed</param>
+            <param name="messageImportance">message importance</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitBranch.IsBranchStatusLine(System.String)">
+            <summary>
+            Check if a stdout Git line shows the current branch
+            </summary>
+            <param name="singleLine">the stdout line</param>
+            <returns>true if is branch line</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitBranch.ParseStatusLineOutput(System.String)">
+            <summary>
+            Parses a branch status line and returns the branch or tag
+            </summary>
+            <param name="singleLine">the stdout line of git command line tool</param>
+            <returns>the branch or tag</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitBranch.GenerateArguments(Microsoft.Build.Utilities.CommandLineBuilder)">
+            <summary>
+            Generates the arguments.
+            </summary>
+            <param name="builder">The builder.</param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Git.GitBranch.Branch">
+            <summary>
+            Return the branch or tag.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Git.GitCommits">
+            <summary>
+            A task for git to retrieve the number of commits on a revision.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitCommits.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Git.GitCommits"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitCommits.GenerateArguments(Microsoft.Build.Utilities.CommandLineBuilder)">
+            <summary>
+            Generates the arguments.
+            </summary>
+            <param name="builder">The builder.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitCommits.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
+            <summary>
+            Parses a single line of text to identify any errors or warnings in canonical format.
+            </summary>
+            <param name="singleLine">A single line of text for the method to parse.</param>
+            <param name="messageImportance">A value of <see cref="T:Microsoft.Build.Framework.MessageImportance"/> that indicates the importance level with which to log the message.</param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Git.GitCommits.Revision">
+            <summary>
+            Gets or sets the revision to get the total number of commits from. Default is HEAD.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Git.GitCommits.CommitsCount">
+            <summary>
+            Gets or sets the commitscount.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Git.GitPendingChanges">
+            <summary>
+            A task for git to detect if there are pending changes
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitPendingChanges.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Git.GitPendingChanges"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitPendingChanges.GenerateArguments(Microsoft.Build.Utilities.CommandLineBuilder)">
+            <summary>
+            Generates the arguments.
+            </summary>
+            <param name="builder">The builder.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitPendingChanges.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
+            <summary>
+            Parses a single line of text to identify any errors or warnings in canonical format.
+            </summary>
+            <param name="singleLine">A single line of text for the method to parse.</param>
+            <param name="messageImportance">A value of <see cref="T:Microsoft.Build.Framework.MessageImportance"/> that indicates the importance level with which to log the message.</param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Git.GitPendingChanges.HasPendingChanges">
+            <summary>
+            Gets or sets whether the working directory has pending changes.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Git.GitVersion">
+            <summary>
+            A task for git to get the current commit hash.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitVersion.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Git.GitVersion"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitVersion.GenerateArguments(Microsoft.Build.Utilities.CommandLineBuilder)">
+            <summary>
+            Generates the arguments.
+            </summary>
+            <param name="builder">The builder.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Git.GitVersion.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
+            <summary>
+            Parses a single line of text to identify any errors or warnings in canonical format.
+            </summary>
+            <param name="singleLine">A single line of text for the method to parse.</param>
+            <param name="messageImportance">A value of <see cref="T:Microsoft.Build.Framework.MessageImportance"/> that indicates the importance level with which to log the message.</param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Git.GitVersion.Revision">
+            <summary>
+            Gets or sets the revision to get the version from. Default is HEAD.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Git.GitVersion.CommitHash">
+            <summary>
+            Gets or sets the commit hash.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Git.GitVersion.Short">
+            <summary>
+            Gets or sets a value indicating whether to abbreviate to a shorter unique name.
+            </summary>
+            <value>
+              <c>true</c> if short; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.HtmlHelp.ChmCompiler">
+            <summary>
+            Html Help 1x compiler task.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.HtmlHelp.ChmCompiler.GenerateFullPathToTool">
+            <summary>
+            Returns the fully qualified path to the executable file.
+            </summary>
+            <returns>
+            The fully qualified path to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.HtmlHelp.ChmCompiler.LogToolCommand(System.String)">
+            <summary>
+            Logs the starting point of the run to all registered loggers.
+            </summary>
+            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.HtmlHelp.ChmCompiler.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.HtmlHelp.ChmCompiler.HandleTaskExecutionErrors">
+            <summary>
+            Handles execution errors raised by the executable file.
+            </summary>
+            <returns>
+            true if the method runs successfully; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.HtmlHelp.ChmCompiler.ProjectFile">
+            <summary>
+            Gets or sets the project file path.
+            </summary>
+            <value>The project file path.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.HtmlHelp.ChmCompiler.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>The name of the executable file to run.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.HtmlHelp.ChmCompiler.StandardOutputLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.HtmlHelp.HxCompiler">
+            <summary>
+            A Html Help 2.0 compiler task.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.GenerateFullPathToTool">
+            <summary>
+            Returns the fully qualified path to the executable file.
+            </summary>
+            <returns>
+            The fully qualified path to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.LogToolCommand(System.String)">
+            <summary>
+            Logs the starting point of the run to all registered loggers.
+            </summary>
+            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.HandleTaskExecutionErrors">
+            <summary>
+            Handles execution errors raised by the executable file.
+            </summary>
+            <returns>
+            true if the method runs successfully; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.ProjectFile">
+            <summary>
+            Gets or sets the project file path.
+            </summary>
+            <value>The project file path.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.LogFile">
+            <summary>
+            Gets or sets the log file.
+            </summary>
+            <value>The log file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.ProjectRoot">
+            <summary>
+            Gets or sets the project root.
+            </summary>
+            <value>The project root.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.OutputFile">
+            <summary>
+            Gets or sets the output file.
+            </summary>
+            <value>The output file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.NoInfoMessages">
+            <summary>
+            Gets or sets a value indicating whether no info messages will be output.
+            </summary>
+            <value><c>true</c> if no info messages; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.NoWarningMessages">
+            <summary>
+            Gets or sets a value indicating whether no warning messages will be output.
+            </summary>
+            <value><c>true</c> if no warning messages; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.NoErrorMessages">
+            <summary>
+            Gets or sets a value indicating whether no error messages will be output.
+            </summary>
+            <value><c>true</c> if no error messages; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.QuiteMode">
+            <summary>
+            Gets or sets a value indicating quite mode.
+            </summary>
+            <value><c>true</c> if quite mode; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.UncompileFile">
+            <summary>
+            Gets or sets the uncompile file.
+            </summary>
+            <value>The uncompile file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.UncompileDirectory">
+            <summary>
+            Gets or sets the uncompile directory.
+            </summary>
+            <value>The uncompile directory.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>The name of the executable file to run.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.HtmlHelp.HxCompiler.StandardOutputLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.InnoSetup">
+            <summary>
+            MSBuild task to create installer with InnoSetup
+            </summary>
+            <example>Create installer
+            <code><![CDATA[
+                <InnoSetup 
+                    ScriptFile="setup.iss"
+                    OutputFileName="MySetup.exe"
+                    OutputPath="C:\SetupDir"
+                    Quiet="True" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.InnoSetup.GenerateFullPathToTool">
+            <summary>
+            Returns the fully qualified path to the executable file.
+            </summary>
+            <returns>
+            The fully qualified path to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.InnoSetup.LogToolCommand(System.String)">
+            <summary>
+            Logs the starting point of the run to all registered loggers.
+            </summary>
+            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.InnoSetup.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.InnoSetup.Execute">
+            <summary>
+            
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.InnoSetup.ScriptFile">
+            <summary>
+            Filename of Inno Setup script (.iss)
+            </summary>
+            <value>InnoSetup file, example: C:\Setup.iss</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.InnoSetup.OutputFileName">
+            <summary>
+            Specify output filename
+            </summary>
+            <value>Name for setup, examples: MySetup.exe</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.InnoSetup.OutputPath">
+            <summary>
+            Specify output path
+            </summary>
+            <value>Path for output setup, example: C:\Setups</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.InnoSetup.Quiet">
+            <summary>
+            Quiet compile
+            </summary>
+            <value>True o False</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.InnoSetup.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>The name of the executable file to run.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.InnoSetup.StandardOutputLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.MergeModes">
+            <summary>
+            Defines the modes for merging files.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.MergeModes.Binary">
+            <summary>
+            Merges files as binary data.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.MergeModes.Text">
+            <summary>
+            Merges files as text.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.MergeModes.TextLine">
+            <summary>
+            Merges files as text line by line.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Merge">
+            <summary>
+            Merge files into the destination file.
+            </summary>
+            <example>Merge CSS files together for better browser performance.
+            <code><![CDATA[
+            <Merge Mode="TextLine" 
+                SourceFiles="Main.css;Login.css" 
+                DestinationFile="All.css" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Merge.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Merge.Mode">
+            <summary>
+            Gets or sets the mode to use when merging.
+            </summary>
+            <value>The merge mode.</value>
+            <enum cref="T:MSBuild.Community.Tasks.MergeModes"/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Merge.SourceFiles">
+            <summary>
+            Gets or sets the source files to merge.
+            </summary>
+            <value>The source files to merge.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Merge.DestinationFile">
+            <summary>
+            Gets or sets the destination file where the
+            <see cref="P:MSBuild.Community.Tasks.Merge.SourceFiles"/> are merged to.
+            </summary>
+            <value>The destination file.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Net.HttpRequest">
+            <summary>
+            Makes an HTTP request, optionally validating the result and writing it to a file.
+            </summary>
+            <remarks>
+            Execute a http request to hit the database update.  
+            Target attributes to set:
+                Url (required),
+                FailOnNon2xxResponse (200 responses generally means successful http request. default=true), 
+                EnsureResponseContains (string to check for),
+                WriteResponseTo (file name to write to),
+            </remarks>
+            <example>
+            Example of a update request ensuring "Database upgrade check completed successfully." was returned.
+            <code><![CDATA[
+                <HttpRequest Url="http://mydomain.com/index.php?checkdb=1" 
+                    EnsureResponseContains="Database upgrade check completed successfully." 
+                    FailOnNon2xxResponse="true" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Net.HttpRequest.#ctor">
+            <summary>
+            Constructor to set the default parameters for http request
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Net.HttpRequest.Execute">
+            <summary>
+            Entry Point inherited from Task
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Net.HttpRequest.Url">
+            <summary>
+            The URL to make an HTTP request against.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Net.HttpRequest.EnsureResponseContains">
+            <summary>
+            Optional: if set then the task fails if the response text doesn't contain the text specified.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Net.HttpRequest.FailOnNon2xxResponse">
+            <summary>
+            Default is true.  When true, if the web server returns a status code less than 200 or greater than 299 then the task fails.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Net.HttpRequest.Method">
+            <summary>
+            Optional, default is GET. The HTTP method to use for the request.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Net.HttpRequest.Username">
+            <summary>
+            Optional. The username to use with basic authentication.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Net.HttpRequest.Password">
+            <summary>
+            Optional. The password to use with basic authentication.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Net.HttpRequest.ReadRequestFrom">
+            <summary>
+            Optional; the name of the file to reqd the request from.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Net.HttpRequest.WriteResponseTo">
+            <summary>
+            Optional; the name of the file to write the response to.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.NuGet.NuGetBase">
+            <summary>
+            A base class for NuGet tasks.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.NuGet.NuGetBase.GenerateFullPathToTool">
+            <summary>
+            Returns the fully qualified path to the executable file.
+            </summary>
+            <returns>
+            The fully qualified path to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.NuGet.NuGetBase.GetWorkingDirectory">
+            <summary>
+            Returns the directory in which to run the executable file.
+            </summary>
+            <returns>
+            The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetBase.WorkingDirectory">
+            <summary>
+            Gets or sets the working directory.
+            </summary>
+            <value>The working directory.</value>
+            <returns>
+            The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetBase.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>The name of the executable file to run.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetBase.StandardOutputLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log output.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log output.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetBase.StandardErrorLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.NuGet.NuGetPack">
+            <summary>
+            Creates a NuGet package based on the specified nuspec or project file.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.NuGet.NuGetPack._outputFilePathParse">
+            <summary>
+            The Regex used to get the full path to the NuGet Package created by the NuGetPack Task
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.NuGet.NuGetPack.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.NuGet.NuGetPack.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
+            <summary>
+            Logs the events from text output.
+            </summary>
+            <param name="singleLine">The single line.</param>
+            <param name="messageImportance">The message importance.</param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPack.File">
+            <summary>
+            The location of the nuspec or project file to create a package.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPack.OutputDirectory">
+            <summary>
+            Specifies the directory for the created NuGet package.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPack.Version">
+            <summary>
+            Overrides the version number from the nuspec file.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPack.BasePath">
+            <summary>
+            The base path of the files defined in the nuspec file.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPack.Verbose">
+            <summary>
+            Shows verbose output for package building.
+            </summary>
+            <value><c>true</c> if verbose; otherwise, <c>false</c>.</value>
+            <remarks>
+            Depricated in NuGet 2.0.  Use <see cref="P:MSBuild.Community.Tasks.NuGet.NuGetPack.Verbosity"/> instead.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPack.Verbosity">
+            <summary>
+            Display this amount of details in the output.
+            </summary>
+            <value><c>normal</c>; <c>quiet</c>; ; <c>detailed</c></value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPack.Symbols">
+            <summary>
+            Determines if a package containing sources and symbols should be created. When specified with a nuspec, 
+            creates a regular NuGet package file and the corresponding symbols package.
+            </summary>
+            <value>
+              <c>true</c> if symbols; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPack.Properties">
+            <summary>
+            Provides the ability to specify a semicolon ";" delimited list of properties when creating a package.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPack.OutputFilePath">
+            <summary>
+            The full file path of the NuGet package created by the NuGetPack task
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.NuGet.NuGetPush">
+            <summary>
+            Pushes a package to the server and optionally publishes it.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.NuGet.NuGetPush.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPush.File">
+            <summary>
+            The path to the package to push the package to the server.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPush.APIKey">
+            <summary>
+            The API key to use for push to the server.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPush.Source">
+            <summary>
+            Specifies the server URL.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NuGet.NuGetPush.CreateOnly">
+            <summary>
+            Specifies if the package should be created and uploaded to the server but not published to the server. False by default.
+            </summary>
+            <value>
+              <c>true</c> if create only; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.PathUtil.RelativePathTo(System.String,System.String)">
+            <summary>  
+            Creates a relative path from one file  
+            or folder to another.  
+            </summary>  
+            <param name="fromDirectory">  
+            Contains the directory that defines the   
+            start of the relative path.  
+            </param>  
+            <param name="toPath">  
+            Contains the path that defines the  
+            endpoint of the relative path.  
+            </param>  
+            <returns>  
+            The relative path from the start  
+            directory to the end path.  
+            </returns>  
+            <exception cref="T:System.ArgumentNullException">
+            Thrown if <paramref name="fromDirectory"/> or <paramref name="toPath"/> are null.
+            </exception>  
+        </member>
+        <member name="T:MSBuild.Community.Tasks.RegexCompiler">
+            <summary>
+            Compiles regular expressions and saves them to disk in an assembly.
+            </summary>
+            <remarks>
+      <para>
+        When defining the regular expressions in an MSBuild project file, the ItemGroup
+        item must have a metadata tag called 'Pattern' that is the actually regular expression.
+        Other optional metadata tags are the following.
+        <list type="table">
+          <listheader>
+            <term>Metadata Tags</term>
+            <description>Description</description>
+          </listheader>
+          <item>
+            <term>Pattern</term>
+            <description>The actually regular expression pattern to be compiled. (Required)</description>
+          </item>
+          <item>
+            <term>Options</term>
+            <description>The RegexOptions for the expression.</description>
+          </item>
+          <item>
+            <term>Namespace</term>
+            <description>The class namespace for the compile class.</description>
+          </item>
+          <item>
+            <term>IsPublic</term>
+            <description>A flag if the generated expression should be public.</description>
+          </item>
+        </list>
+      </para>
+    </remarks><example>
+      Creates an assembly with the compiled regular expressions.
+      <code>
+        <![CDATA[
+  <ItemGroup>
+    <RegexPatterns Include="TextRegex">
+      <Pattern>\G[^&lt;]+</Pattern>
+      <Options>RegexOptions.Singleline | RegexOptions.Multiline</Options>
+    </RegexPatterns>
+    <RegexPatterns Include="CommentRegex">
+      <Pattern>\G&lt;%--(([^-]*)-)*?-%&gt;</Pattern>
+      <Options>RegexOptions.Singleline | RegexOptions.Multiline</Options>
+    </RegexPatterns>
+    <RegexPatterns Include="CodeRegex">
+      <Pattern>\G&lt;%(?![@%])(?&lt;code&gt;.*?)%&gt;</Pattern>
+      <Options>RegexOptions.Singleline | RegexOptions.Multiline</Options>
+      <Namespace>MSBuild.Community.RegularExpressions</Namespace>
+    </RegexPatterns>
+  </ItemGroup>
+
+  <Target Name="RegexCompiler">
+    <RegexCompiler
+      OutputDirectory="Test"
+      RegularExpressions="@(RegexPatterns)"
+      Namespace="MSBuild.RegularExpressions"
+      AssemblyName="MSBuild.RegularExpressions.dll"
+      AssemblyTitle="MSBuild.RegularExpressions"
+      AssemblyDescription="MSBuild Community Tasks Regular Expressions"
+      AssemblyCompany="Company Name, LLC"
+      AssemblyProduct="MSBuildTasks"
+      AssemblyCopyright="Copyright (c) MSBuildTasks 2008"
+      AssemblyVersion="1.0.0.0"
+      AssemblyFileVersion="1.0.0.0" />
+  </Target>
+]]>
+      </code>
+    </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.RegexCompiler.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.RegexCompiler"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.RegexCompiler.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyName">
+            <summary>
+            Gets or sets the name of the assembly to be created by the regex compiler.
+            </summary>
+            <value>The name of the assembly.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyTitle">
+            <summary>
+            Gets or sets the assembly title.
+            </summary>
+            <value>The assembly title.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyDescription">
+            <summary>
+            Gets or sets the assembly description.
+            </summary>
+            <value>The assembly description.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyCompany">
+            <summary>
+            Gets or sets the assembly company.
+            </summary>
+            <value>The assembly company.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyProduct">
+            <summary>
+            Gets or sets the assembly product.
+            </summary>
+            <value>The assembly product.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyCopyright">
+            <summary>
+            Gets or sets the assembly copyright.
+            </summary>
+            <value>The assembly copyright.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyCulture">
+            <summary>
+            Gets or sets the assembly culture.
+            </summary>
+            <value>The assembly culture.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyVersion">
+            <summary>
+            Gets or sets the assembly version.
+            </summary>
+            <value>The assembly version.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyFileVersion">
+            <summary>
+            Gets or sets the assembly file version.
+            </summary>
+            <value>The assembly file version.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyInformationalVersion">
+            <summary>
+            Gets or sets the assembly informational version.
+            </summary>
+            <value>The assembly informational version.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexCompiler.AssemblyKeyFile">
+            <summary>
+            Gets or sets the assembly key file.
+            </summary>
+            <value>The assembly key file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexCompiler.OutputDirectory">
+            <summary>
+            Gets or sets the directory where the assembly will be saved.
+            </summary>
+            <value>The output directory.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexCompiler.OutputFile">
+            <summary>
+            Gets or sets the output file.
+            </summary>
+            <value>The output file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexCompiler.RegularExpressions">
+            <summary>
+            Gets or sets the regular expressions.
+            </summary>
+            <value>The regular expressions.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexCompiler.RegularExpressionsFile">
+            <summary>
+            Gets or sets the file defining the regular expressions.
+            </summary>
+            <value>The regular expressions file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexCompiler.IsPublic">
+            <summary>
+            Gets or sets a value indicating whether the default value is public for regular expression instances.
+            </summary>
+            <value><c>true</c> if regular expression instance is public; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexCompiler.Namespace">
+            <summary>
+            Gets or sets the default namespace for regular expression instances.
+            </summary>
+            <value>The namespace for regular expression instances.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexCompiler.Options">
+            <summary>
+            Gets or sets the default regular expression options.
+            </summary>
+            <value>The default regular expression options.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Sandcastle.BuildAssembler">
+            <summary>
+            BuildAssembler task for Sandcastle.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase">
+            <summary>
+            A base class for Sandcastle Tools,
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.GenerateFullPathToTool">
+            <summary>
+            Returns the fully qualified path to the executable file.
+            </summary>
+            <returns>
+            The fully qualified path to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.LogToolCommand(System.String)">
+            <summary>
+            Logs the starting point of the run to all registered loggers.
+            </summary>
+            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
+            <summary>
+            Logs the events from text output.
+            </summary>
+            <param name="singleLine">The single line.</param>
+            <param name="messageImportance">The message importance.</param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.SandcastleEnviroment">
+            <summary>
+            Gets or sets the sandcastle enviroment.
+            </summary>
+            <value>The sandcastle enviroment.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.EnviromentVariables">
+            <summary>
+            Gets or sets the enviroment variables.
+            </summary>
+            <value>The enviroment variables.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.SandcastleRoot">
+            <summary>
+            Gets or sets the sandcastle install root directory.
+            </summary>
+            <value>The sandcastle root directory.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.NoInfoMessages">
+            <summary>
+            Gets or sets a value indicating whether no info messages will be output.
+            </summary>
+            <value><c>true</c> if no info messages; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.NoWarnMessages">
+            <summary>
+            Gets or sets a value indicating whether no warning messages will be output.
+            </summary>
+            <value><c>true</c> if no warning messages; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.StandardOutputLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.StandardErrorLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleToolBase.EnvironmentOverride">
+            <summary>
+            Gets the override value of the PATH environment variable.
+            </summary>
+            <value></value>
+            <returns>The override value of the PATH environment variable.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Sandcastle.BuildAssembler.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.BuildAssembler.ConfigFile">
+            <summary>
+            Gets or sets the configuration file.
+            </summary>
+            <value>The configuration file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.BuildAssembler.ManifestFile">
+            <summary>
+            Gets or sets the manifest file.
+            </summary>
+            <value>The manifest file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.BuildAssembler.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>The name of the executable file to run.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Sandcastle.ChmBuilder">
+            <summary>
+            ChmBuilder task for Sandcastle.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Sandcastle.ChmBuilder.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.ChmBuilder.HtmlDirectory">
+            <summary>
+            Gets or sets the HTML directory.
+            </summary>
+            <value>The HTML directory.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.ChmBuilder.ProjectName">
+            <summary>
+            Gets or sets the name of the project.
+            </summary>
+            <value>The name of the project.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.ChmBuilder.TocFile">
+            <summary>
+            Gets or sets the toc file.
+            </summary>
+            <value>The toc file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.ChmBuilder.OutputDirectory">
+            <summary>
+            Gets or sets the output file.
+            </summary>
+            <value>The output file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.ChmBuilder.Metadata">
+            <summary>
+            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Sandcastle.ChmBuilder"/> is metadata.
+            </summary>
+            <value><c>true</c> if metadata; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.ChmBuilder.LanguageId">
+            <summary>
+            Gets or sets the language id.
+            </summary>
+            <value>The language id.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.ChmBuilder.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>The name of the executable file to run.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Sandcastle.DBCSFix">
+            <summary>
+            DBCSFix task for Sandcastle.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Sandcastle.DBCSFix.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.DBCSFix.ChmDirectory">
+            <summary>
+            Gets or sets the CHM directory.
+            </summary>
+            <value>The CHM directory.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.DBCSFix.LanguageId">
+            <summary>
+            Gets or sets the language id.
+            </summary>
+            <value>The language id.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.DBCSFix.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>The name of the executable file to run.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Sandcastle.MRefBuilder">
+            <summary>
+            MRefBuilder task for Sandcastle.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Sandcastle.MRefBuilder.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.MRefBuilder.OutputFile">
+            <summary>
+            Gets or sets the output file.
+            </summary>
+            <value>The output file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.MRefBuilder.ConfigFile">
+            <summary>
+            Gets or sets the config file.
+            </summary>
+            <value>The config file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.MRefBuilder.References">
+            <summary>
+            Gets or sets the references.
+            </summary>
+            <value>The references.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.MRefBuilder.Assemblies">
+            <summary>
+            Gets or sets the assemblies.
+            </summary>
+            <value>The assemblies.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.MRefBuilder.IncludeInternal">
+            <summary>
+            Gets or sets a value indicating whether to include internal members.
+            </summary>
+            <value><c>true</c> to include internal; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.MRefBuilder.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>The name of the executable file to run.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Sandcastle.Sandcastle">
+            <summary>
+            The Sandcastle task.
+            </summary>
+            <example>Create the Html Help for MSBuild Community Task project.
+            <code><![CDATA[
+            <Sandcastle TopicStyle="vs2005"
+                WorkingDirectory="$(MSBuildProjectDirectory)\Help"
+                Assemblies="@(Assemblies)"
+                Comments="@(Comments)"
+                References="@(References)"
+                ChmName="MSBuildTasks"
+                HxName="MSBuildTasks" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Sandcastle.Sandcastle.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Sandcastle.Sandcastle"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Sandcastle.Sandcastle.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.SandcastleRoot">
+            <summary>
+            Gets or sets the sandcastle install root directory.
+            </summary>
+            <value>The sandcastle root directory.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.WorkingDirectory">
+            <summary>
+            Gets or sets the working directory.
+            </summary>
+            <value>The working directory.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.TopicStyle">
+            <summary>
+            Gets or sets the html help topic style.
+            </summary>
+            <value>The html help topic style.</value>
+            <remarks>
+            The styles supported are hana, prototype and vs2005. 
+            The default style is vs2005.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.Clean">
+            <summary>
+            Gets or sets a value indicating whether working directory is cleaned.
+            </summary>
+            <value><c>true</c> if clean; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.References">
+            <summary>
+            Gets or sets the references.
+            </summary>
+            <value>The references.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.Assemblies">
+            <summary>
+            Gets or sets the assemblies.
+            </summary>
+            <value>The assemblies.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.Comments">
+            <summary>
+            Gets or sets the comments.
+            </summary>
+            <value>The comments.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.SandcastleConfig">
+            <summary>
+            Gets or sets the build assembler config file.
+            </summary>
+            <value>The build assembler config.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.ChmName">
+            <summary>
+            Gets or sets the name of the CHM.
+            </summary>
+            <value>The name of the CHM.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.LanguageId">
+            <summary>
+            Gets or sets the language id.
+            </summary>
+            <value>The language id.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.HxName">
+            <summary>
+            Gets or sets a value indicating a Html Help 2x project will be created.
+            </summary>
+            <value>The name of the Html Help 2x project.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.NoInfoMessages">
+            <summary>
+            Gets or sets a value indicating whether no info messages will be output.
+            </summary>
+            <value><c>true</c> if no info messages; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.Sandcastle.NoWarnMessages">
+            <summary>
+            Gets or sets a value indicating whether no warning messages will be output.
+            </summary>
+            <value><c>true</c> if no warning messages; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Sandcastle.SandcastleEnviroment">
+            <summary>
+            A class representing the sandcastle enviroment.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Sandcastle.SandcastleEnviroment.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Sandcastle.SandcastleEnviroment"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Sandcastle.SandcastleEnviroment.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Sandcastle.SandcastleEnviroment"/> class.
+            </summary>
+            <param name="sandcastleRoot">The sandcastle root.</param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleEnviroment.SandcastleRoot">
+            <summary>
+            Gets or sets the sandcastle root.
+            </summary>
+            <value>The sandcastle root.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleEnviroment.ToolsDirectory">
+            <summary>
+            Gets or sets the tools directory.
+            </summary>
+            <value>The tools directory.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleEnviroment.TransformsDirectory">
+            <summary>
+            Gets or sets the transforms directory.
+            </summary>
+            <value>The transforms directory.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.SandcastleEnviroment.PresentationDirectory">
+            <summary>
+            Gets or sets the presentation directory.
+            </summary>
+            <value>The presentation directory.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Sandcastle.XslTransform">
+            <summary>
+            XslTransform task for Sandcastle.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Sandcastle.XslTransform.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.XslTransform.OutputFile">
+            <summary>
+            Gets or sets the output file.
+            </summary>
+            <value>The output file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.XslTransform.XsltFiles">
+            <summary>
+            Gets or sets the XSLT files.
+            </summary>
+            <value>The XSLT files.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.XslTransform.XmlFile">
+            <summary>
+            Gets or sets the XML files.
+            </summary>
+            <value>The XML files.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.XslTransform.Arguments">
+            <summary>
+            Gets or sets the arguments.
+            </summary>
+            <value>The arguments.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sandcastle.XslTransform.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>The name of the executable file to run.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Services.IFilesSystem">
+            <summary>
+            The contract for a service that will provide access to the file system.
+            </summary>
+            <exclude />
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Services.IFilesSystem.FileExists(System.String)">
+            <summary>
+            Determines whether the specified file exists.
+            </summary>
+            <param name="path">The path of the file to check.</param>
+            <returns><c>True</c> if the file exists on the filesystem.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Services.IFilesSystem.ReadTextFromFile(System.String)">
+            <summary>
+            Returns the contents of a file.
+            </summary>
+            <param name="fileName">The path of the file to read.</param>
+            <returns>The text with the specified file.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Services.IFilesSystem.WriteTextToFile(System.String,System.String)">
+            <summary>
+            Writes text to a file.
+            </summary>
+            <param name="fileName">The path of the file to write.</param>
+            <param name="contents">The text to write to the file.</param>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Services.FileSystem">
+            <summary>
+            Provides access to the file system.
+            </summary>
+            <exclude />
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Services.FileSystem.FileExists(System.String)">
+            <summary>
+            Determines whether the specified file exists.
+            </summary>
+            <param name="path">The path of the file to check.</param>
+            <returns><c>True</c> if the file exists on the filesystem.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Services.FileSystem.ReadTextFromFile(System.String)">
+            <summary>
+            Returns the contents of a file.
+            </summary>
+            <param name="fileName">The path of the file to read.</param>
+            <returns>The text with the specified file.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Services.FileSystem.WriteTextToFile(System.String,System.String)">
+            <summary>
+            Writes text to a file.
+            </summary>
+            <param name="fileName">The path of the file to write.</param>
+            <param name="contents">The text to write to the file.</param>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.GacUtilCommands">
+            <summary>
+            The list of the commands available to the GacUtil Task
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.GacUtilCommands.Install">
+            <summary>Install the list of assemblies into the GAC.</summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.GacUtilCommands.Uninstall">
+            <summary>Uninstall the list of assembly names from the GAC.</summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.GacUtil">
+            <summary>
+            MSBuild task to install and uninstall assemblies into the GAC
+            </summary>
+            <example>Install a dll into the GAC.
+            <code><![CDATA[
+                <GacUtil 
+                    Command="Install" 
+                    Assemblies="MSBuild.Community.Tasks.dll" 
+                    Force="true" />
+            ]]></code>
+            </example>
+            <example>Uninstall a dll from the GAC.
+            <code><![CDATA[
+                <GacUtil 
+                    Command="Uninstall" 
+                    Assemblies="MSBuild.Community.Tasks" 
+                    Force="true" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.GacUtil.Execute">
+            <summary>
+            Runs the executable file with the specified task parameters.
+            </summary>
+            <returns>
+            true if the task runs successfully; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.GacUtil.Command">
+            <summary>
+            Gets or sets the command.
+            </summary>
+            <value>The command.</value>
+            <enum cref="T:MSBuild.Community.Tasks.GacUtilCommands"/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.GacUtil.RelatedFileExtensions">
+            <summary>
+            Gets or sets the related file extensions to copy when <see cref="P:MSBuild.Community.Tasks.GacUtil.IncludeRelatedFiles"/> is true.
+            </summary>
+            <value>The related file extensions.</value>
+            <remarks>
+            The default extensions are .pdb and .xml.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.GacUtil.IncludeRelatedFiles">
+            <summary>
+            Gets or sets a value indicating whether related files are included when installing in GAC.
+            </summary>
+            <value><c>true</c> if related files are included when installing in GAC; otherwise, <c>false</c>.</value>
+            <remarks>
+            Setting IncludeRelatedFiles to true will copy the pdb and xml files from the same folder as the
+            assembly to the location in the GAC that the assembly was installed to.  This is useful in some  
+            debugging scenarios were you need to debug assemblies that are GAC'd.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.GacUtil.Quiet">
+            <summary>
+            Gets or sets a value indicating whether warning messages are output.
+            </summary>
+            <value><c>true</c> to not log warning messages; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.GacUtil.Force">
+            <summary>
+            Gets or sets a value indicating whether to force reinstall of an assembly.
+            </summary>
+            <value><c>true</c> if force; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.GacUtil.Assemblies">
+            <summary>
+            Gets or sets the assembly name or file.
+            </summary>
+            <value>The assembly name or file.</value>
+            <remarks>
+            When the command is install, Assemblies should be a file path to the assembly
+            to install in the GAC.  When command is uninstall, Assemblies should be a 
+            the full name of the assembly to uninstall.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.GacUtil.InstalledPaths">
+            <summary>
+            Gets the installed assembly paths.
+            </summary>
+            <value>The installed paths.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.GacUtil.InstalledNames">
+            <summary>
+            Gets the installed assembly names.
+            </summary>
+            <value>The installed names.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.GacUtil.Successful">
+            <summary>
+            Gets the number of assemblies successfully installed/uninstalled.
+            </summary>
+            <value>The number successful assemblies.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.GacUtil.Failed">
+            <summary>
+            Gets the number of assemblies that failed to installed/uninstalled.
+            </summary>
+            <value>The number failed assemblies.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.GacUtil.Skipped">
+            <summary>
+            Gets the number of assemblies that were skipped during installed/uninstalled.
+            </summary>
+            <value>The number of skipped assemblies.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.JavaScript.JSCompress">
+            <summary>
+            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.
+            </summary>
+            <remarks>
+            This task does not change the behavior of the program that it is 
+            compressing. The resulting code will be harder to debug as well as
+            harder to read.
+            </remarks>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.JavaScript.JSCompress.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.JavaScript.JSCompress.Files">
+            <summary>
+            Gets or sets the files to source-compress.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.JavaScript.JSCompress.Encoding">
+            <summary>
+            Encoding to use to read and write files.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.JavaScript.JSCompress.CompressedFiles">
+            <summary>
+            Gets the files that were successfully source-compressed.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Oracle.AddTnsName">
+            <summary>
+            Defines a database host within the Oracle TNSNAMES.ORA file.
+            </summary>
+            <example>Add an entry to the system default TNSNAMES.ORA file and update any entry that already exists:
+            <code><![CDATA[ <AddTnsName AllowUpdates="True" EntryName="northwind.world" EntryText="(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = northwinddb01)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = northwind.world)))"  /> ]]>
+            </code>
+            </example>
+            <example>Add an entry to a specific file and fail if the entry already exists:
+            <code><![CDATA[ <AddTnsName TnsNamesFile="c:\oracle\network\admin\tnsnames.ora" AllowUpdates="False" EntryName="northwind.world" EntryText="(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = northwinddb01)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = northwind.world)))"  /> ]]>
+            </code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Oracle.AddTnsName.#ctor(MSBuild.Community.Tasks.Services.IRegistry,MSBuild.Community.Tasks.Services.IFilesSystem)">
+            <summary>
+            Creates a new instance of the AddTnsName task using dependency injection.
+            </summary>
+            <param name="registry">A service that provides access to the Windows registry.</param>
+            <param name="fileSystem">A service that provides access to the file system.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Oracle.AddTnsName.#ctor">
+            <summary>
+            Creates a new instance of the AddTnsName task using the default system services.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Oracle.AddTnsName.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Oracle.AddTnsName.GetEffectivePathToTnsNamesFile">
+            <summary>
+            Determines which TNSNAMES.ORA file to update based on task input and the current system environment.
+            </summary>
+            <returns>The path of the TNSNAMES.ORA file that will be used by the task.</returns>
+            <exclude />
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Oracle.AddTnsName.TnsNamesFile">
+            <summary>
+            The path to a specific TNSNAMES.ORA file to update.
+            </summary>
+            <remarks>If not specified, the default is %ORACLE_HOME%\network\admin\tnsnames.ora</remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Oracle.AddTnsName.OriginalFileText">
+            <summary>
+            The contents of the TNSNAMES.ORA file before any changes are made.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Oracle.AddTnsName.ModifiedFile">
+            <summary>
+            The path to the TNSNAMES.ORA that was used by task.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Oracle.AddTnsName.EntryName">
+            <summary>
+            The name of the host entry to add.
+            </summary>
+            <remarks>To be properly recognized by Oracle, the value must contain a period, followed by a suffix. For example: mydatabase.world</remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Oracle.AddTnsName.ModifiedFileText">
+            <summary>
+            The contents of the TNSNAMES.ORA file after the task executes.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Oracle.AddTnsName.EntryText">
+            <summary>
+            The definition of the host entry to add.
+            </summary>
+            <remarks>To be properly recognized by Oracle, the value must be surrounded by parentheses.</remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Oracle.AddTnsName.AllowUpdates">
+            <summary>
+            When true, the task will update an existing entry with <see cref="P:MSBuild.Community.Tasks.Oracle.AddTnsName.EntryName"/>. 
+            If false, the task will fail if <see cref="P:MSBuild.Community.Tasks.Oracle.AddTnsName.EntryName"/> already exists.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Oracle.TnsEntry">
+            <summary>
+            Contains information about a TNS definition
+            </summary>
+            <exclude />
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Oracle.TnsEntry.#ctor(System.Int32,System.Int32)">
+            <summary>
+            Creates a new instance of a TnsEntry
+            </summary>
+            <param name="startPosition">The position of the entry within a TNSNAMES.ORA file</param>
+            <param name="length">The length of the entry definition within the TNSNAMES.ORA file</param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Oracle.TnsEntry.StartPosition">
+            <summary>
+            The position of the entry within a TNSNAMES.ORA file
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Oracle.TnsEntry.Length">
+            <summary>
+            The length of the entry definition within the TNSNAMES.ORA file
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Oracle.TnsParser">
+            <summary>
+            Locates host entries within a TNSNAMES.ORA file
+            </summary>
+            <exclude />
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Oracle.TnsParser.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the parser using the contents of a TNSNAMES.ORA file.
+            </summary>
+            <param name="content"></param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Oracle.TnsParser.FindEntry(System.String)">
+            <summary>
+            Locates a host entry by its name.
+            </summary>
+            <param name="name">The name of the entry to find.</param>
+            <returns>A <see cref="T:MSBuild.Community.Tasks.Oracle.TnsEntry"/> which contains information about the location of the entry within the file.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.RoboCopy">
+            <summary>
+            Task wrapping the Window Resource Kit Robocopy.exe command.
+            </summary>
+            <example>Deploy website to web server.
+            <code><![CDATA[
+            <RoboCopy 
+                SourceFolder="$(MSBuildProjectDirectory)" 
+                DestinationFolder="\\server\webroot\" 
+                Mirror="true"
+                ExcludeFolders=".svn;obj;Test"
+                ExcludeFiles="*.cs;*.resx;*.csproj;*.webinfo;*.log"
+                NoJobHeader="true"
+            />  
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.RoboCopy.HandleTaskExecutionErrors">
+            <summary>
+            Handles execution errors raised by the executable file.
+            </summary>
+            <returns>
+            true if the method runs successfully; otherwise, false.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.RoboCopy.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.RoboCopy.GenerateFullPathToTool">
+            <summary>
+            Returns the fully qualified path to the executable file.
+            </summary>
+            <returns>
+            The fully qualified path to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.RoboCopy.LogToolCommand(System.String)">
+            <summary>
+            Logs the starting point of the run to all registered loggers.
+            </summary>
+            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.SourceFolder">
+            <summary>
+            Source directory 
+            </summary>
+            <remarks>
+            You can use drive:\path or \\server\share\path
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.SourceFiles">
+            <summary>
+            Names of files to act upon.
+            </summary>
+            <remarks>
+            You can use wildcard characters (? and *). If no 
+            files are listed, Robocopy defaults to all files (*.*).
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.DestinationFolder">
+            <summary>
+            Destination directory.
+            </summary>
+            <remarks>
+            You can use drive:\path or \\server\share\path
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.Subdirectories">
+            <summary>
+            /S	Copies subdirectories (excluding empty ones).
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.AllSubdirectories">
+            <summary>
+            /E	Copies all subdirectories (including empty ones).
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.RestartableMode">
+            <summary>
+            /Z	Copies files in restartable mode (that is, restarts the copy process from the point of failure).
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.BackupMode">
+            <summary>
+            /B	Copies files in Backup mode (Backup copies are not restartable, but can copy some files that restartable mode cannot).
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.CopyFlags">
+            <summary>
+            /COPY:copyflags Copies the file information specified by copyflags.
+            </summary>
+            <remarks>
+            D – file Data, S – file Security (NTFS ACLs), A – file Attributes,
+            O – file Ownership information, T – file Timestamps, U – file Auditing infomation.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.CopyAll">
+            <summary>
+            /COPYALL	Copies Everything. Equivalent to /COPY:DATSOU.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.NoCopy">
+            <summary>
+            /NOCOPY	Copies Nothing. Can be useful with /PURGE. 
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.Security">
+            <summary>
+            /SEC	Copies NTFS security information. (Source and destination volumes must both be NTFS). Equivalent to /COPY:DATS.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.MoveFiles">
+            <summary>
+            /MOV	Moves files (that is, deletes source files after copying).
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.Move">
+            <summary>
+            /MOVE	Moves files and directories (that is, deletes source files and directories after copying).
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.Purge">
+            <summary>
+            /PURGE	Deletes destination files and directories that no longer exist in the source.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.Mirror">
+            <summary>
+            /MIR	Mirrors a directory tree (equivalent to running both /E and /PURGE).
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.Create">
+            <summary>
+            /CREATE	Creates a directory tree structure containing zero-length files only (that is, no file data is copied).
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.FatFileNames">
+            <summary>
+            /FAT 	Creates destination files using only 8.3 FAT file names.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.FatFileTimes">
+            <summary>
+            /FFT	Assume FAT File Times (2-second granularity).
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.IncludeAttributes">
+            <summary>
+            /IA:{R|A|S|H|C|N|E|T|O} Includes files with the specified attributes.
+            </summary>
+            <remarks>
+            The following file attributes can be acted upon:
+            R – Read only, A – Archive, S – System, H – Hidden, 
+            C – Compressed, N – Not content indexed, E – Encrypted, 
+            T – Temporary, O - Offline
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.ExcluedAttributes">
+            <summary>
+            /XA:{R|A|S|H|C|N|E|T|O} Excludes files with the specified attributes.
+            </summary>
+            <remarks>
+            The following file attributes can be acted upon:
+            R – Read only, A – Archive, S – System, H – Hidden, 
+            C – Compressed, N – Not content indexed, E – Encrypted, 
+            T – Temporary, O - Offline
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.IncludeArchive">
+            <summary>
+            /A	Copies only files with the archive attribute set.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.IncludeArchiveClear">
+            <summary>
+            /M	Copies only files with the archive attribute set and then resets (turns off) the archive attribute in the source files.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.ExcludeJunctions">
+            <summary>
+            /XJ	Excludes Junction points.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.ExcludeFiles">
+            <summary>
+            /XF file [file]	Excludes files with the specified names, paths, or wildcard characters.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.ExcludeFolders">
+            <summary>
+            /XD dir [dir]	Excludes directories with the specified names, paths, or wildcard characters.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.Verbose">
+            <summary>
+            /V 	Produces verbose output (including skipped files).
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.NoFileLogging">
+            <summary>
+            /NFL 	Turns off logging of file names. File names are still shown, however, if file copy errors occur.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.NoFolderLogging">
+            <summary>
+            /NDL 	Turns off logging of directory names. Full file pathnames (as opposed to simple file names) will be shown if /NDL is used.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.NoJobHeader">
+            <summary>
+            /NJH	Turns of logging of the job header.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.NoJobSummary">
+            <summary>
+            /NJS	Turns off logging of the job summary.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.NoProgress">
+            <summary>
+            /NP 	Turns off copy progress indicator (% copied).
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.LogFile">
+            <summary>
+            /LOG:file	Redirects output to the specified file, overwriting the file if it already exists.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.AppendLogFile">
+            <summary>
+            /LOG+:file	Redirects output to the specified file, appending it to the file if it already exists.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.Options">
+            <summary>
+            Manually entered options.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>The name of the executable file to run.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RoboCopy.StandardOutputLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Sound">
+            <summary>
+            A task to play a sound from a .wav file path or URL.
+            </summary>
+            <remarks>
+      You must specify either
+      a file or URL (<see cref="P:MSBuild.Community.Tasks.Sound.SoundLocation"/>),
+      a file relative to the <see cref="P:System.Environment.SystemDirectory"/> (<see cref="P:MSBuild.Community.Tasks.Sound.SystemSoundFile"/>),
+      or a file within the <see cref="F:System.Environment.SpecialFolder.MyMusic"/> folder (<see cref="P:MSBuild.Community.Tasks.Sound.MyMusicFile"/>).
+    </remarks><example>
+      To play the windows XP startup sound, use
+      <code>
+        <![CDATA[<Sound SystemSoundFile="..\Media\Windows XP Startup.wav" />]]>
+      </code>
+    </example><example>
+      To play a wav file from the "MyMusic" folder, use
+      <code>
+        <![CDATA[<Sound MyMusicFile="25881_acclivity_3beeps1000.wav" />]]>
+      </code>
+    </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Sound.Execute">
+            <summary>
+            Loads the .wav file given by <see cref="P:MSBuild.Community.Tasks.Sound.SoundLocation"/>
+            and plays the sound using a new thread.
+            </summary>
+            <returns>
+            Returns <see langword="true"/> if the .wav file can successfully be played;
+            otherwise, returns <see langword="false"/>.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sound.SoundLocation">
+            <summary>
+            Gets or sets the file path or URL of the .wav file to load.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sound.SystemSoundFile">
+            <summary>
+            Sets the file path of the .wav file to load
+            as a relative path to <see cref="P:System.Environment.SystemDirectory"/>.
+            </summary>
+            <example>
+            For example, on a Windows XP platform, you can call
+            <code><![CDATA[<Sound SystemSoundFile="..\Media\Windows XP Startup.wav" />]]></code>
+            </example>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sound.MyMusicFile">
+            <summary>
+            Sets the file path of the .wav file to load
+            as a relative path to <see cref="F:System.Environment.SpecialFolder.MyMusic"/>.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sound.LoadTimeout">
+            <summary>
+            Gets or sets the time, in milliseconds, in which the .wav file must load.
+            </summary>
+            <value>The number of milliseconds to wait. The default is 10000 (10 seconds).</value>
+            <remarks>
+            After this time has expired, the loading is canceled and the task execution fails.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sound.Synchron">
+            <summary>
+            Gets or sets a value indicating whether to play the sound synchronously.
+            </summary>
+            <value>
+            	<see langword="true"/> if playing the sound using the caller's thread (default);
+            otherwise, <see langword="false"/> if playing the sound using a new thread.
+            </value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.SourceServer.FileBase">
+            <summary>
+            A base class that has a file.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.FileBase.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.SourceServer.FileBase"/> class.
+            </summary>
+            <param name="fileName">Name of the file.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.FileBase.#ctor(System.IO.FileInfo)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.SourceServer.FileBase"/> class.
+            </summary>
+            <param name="fileInfo">The file info.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.FileBase.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents this instance.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents this instance.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.FileBase.op_Implicit(MSBuild.Community.Tasks.SourceServer.FileBase)~System.String">
+            <summary>
+            Performs an implicit conversion from <see cref="T:MSBuild.Community.Tasks.SourceServer.FileBase"/> to <see cref="T:System.String"/>.
+            </summary>
+            <param name="file">The output file.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.FileBase.File">
+            <summary>
+            Gets or sets the file.
+            </summary>
+            <value>The file.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.SourceServer.PdbStrCommands">
+            <summary>
+            Commands for the <see cref="T:MSBuild.Community.Tasks.SourceServer.PdbStr"/> tasks.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.SourceServer.PdbStrCommands.read">
+            <summary>
+            Read stream from pdb symbol file.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.SourceServer.PdbStrCommands.write">
+            <summary>
+            Write stream to pdb symbol file.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.SourceServer.PdbStr">
+            <summary>
+            A task for the pdbstr from source server.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.PdbStr.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.PdbStr.GenerateFullPathToTool">
+            <summary>
+            Returns the fully qualified path to the executable file.
+            </summary>
+            <returns>
+            The fully qualified path to the executable file.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.PdbStr.PdbFile">
+            <summary>
+            Gets or sets the PDB file.
+            </summary>
+            <value>The PDB file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.PdbStr.StreamFile">
+            <summary>
+            Gets or sets the stream file.
+            </summary>
+            <value>The stream file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.PdbStr.StreamName">
+            <summary>
+            Gets or sets the name of the stream.
+            </summary>
+            <value>The name of the stream.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.PdbStr.Command">
+            <summary>
+            Gets or sets the command.
+            </summary>
+            <value>The command.</value>
+            <enum cref="T:MSBuild.Community.Tasks.SourceServer.PdbStrCommands"/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.PdbStr.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>
+            The name of the executable file to run.
+            </returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.SourceServer.SourceFile">
+            <summary>
+            A class representing a source file.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.SourceFile.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.SourceServer.SourceFile"/> class.
+            </summary>
+            <param name="fileName">Name of the file.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.SourceFile.#ctor(System.IO.FileInfo)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.SourceServer.SourceFile"/> class.
+            </summary>
+            <param name="fileInfo">The file info.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.SourceFile.ToSourceString(System.String)">
+            <summary>
+            Creates the source string.
+            </summary>
+            <param name="format">The format.</param>
+            <returns></returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.SourceFile.Properties">
+            <summary>
+            Gets or sets the properties.
+            </summary>
+            <value>The properties.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.SourceFile.IsResolved">
+            <summary>
+            Gets or sets a value indicating whether this instance is resolved.
+            </summary>
+            <value>
+            	<c>true</c> if this instance is resolved; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.SourceServer.SourceIndexBase">
+            <summary>
+            A base class for source indexing a pdb symbol file.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.Successful">
+            <remarks />
+        </member>
+        <member name="F:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.Failed">
+            <remarks />
+        </member>
+        <member name="F:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.Skipped">
+            <remarks />
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.IndexSymbolFile(Microsoft.Build.Framework.ITaskItem)">
+            <summary>
+            Indexes the symbol file.
+            </summary>
+            <param name="item">The symbol file task item.</param>
+            <returns><c>true</c> if index successfully; otherwise <c>false</c>.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.CreateSymbolFile(Microsoft.Build.Framework.ITaskItem)">
+            <summary>
+            Creates an instance of <see cref="T:MSBuild.Community.Tasks.SourceServer.SymbolFile"/> from the symbol file task item and add the source file list to it.
+            </summary>
+            <param name="item">The symbol file task item.</param>
+            <returns>An instance of <see cref="T:MSBuild.Community.Tasks.SourceServer.SymbolFile"/> or <c>null</c> if there was an error.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.AddSourceProperties(MSBuild.Community.Tasks.SourceServer.SymbolFile)">
+            <summary>
+            Adds the source properties to the symbol file.
+            </summary>
+            <param name="symbolFile">The symbol file to add the source properties to.</param>
+            <returns><c>true</c> if successful; otherwise <c>false</c>.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.CreateSourceIndexFile(MSBuild.Community.Tasks.SourceServer.SymbolFile,System.String)">
+            <summary>
+            Creates the source index file.
+            </summary>
+            <param name="symbolFile">The symbol file to create the index file from.</param>
+            <param name="sourceIndexFile">The source index file.</param>
+            <returns><c>true</c> if successful; otherwise <c>false</c>.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.WriteSourceIndex(MSBuild.Community.Tasks.SourceServer.SymbolFile,System.String)">
+            <summary>
+            Writes the source index file to the symbol file.
+            </summary>
+            <param name="symbolFile">The symbol file.</param>
+            <param name="sourceIndexFile">The source index file.</param>
+            <returns><c>true</c> if successful; otherwise <c>false</c>.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.CopyBuildEngine(Microsoft.Build.Framework.ITask)">
+            <summary>
+            Copies the build engine to the task.
+            </summary>
+            <param name="task">The task.</param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.SymbolFiles">
+            <summary>
+            Gets or sets the symbol files to have to source index added.
+            </summary>
+            <value>The symbol files.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.SourceServerSdkPath">
+            <summary>
+            Gets or sets the source server SDK path.
+            </summary>
+            <value>The source server SDK path.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.SourceServerName">
+            <summary>
+            Gets or sets the name of the source server.
+            </summary>
+            <value>The name of the source server.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.SourceCommandFormat">
+            <summary>
+            Gets or sets the source command format. The SRCSRVCMD environment variable.
+            </summary>
+            <value>The source command format.</value>
+            <remarks>
+            Describes how to build the command to extract the file from source control.
+            This includes the name of the executable file and its command-line parameters.
+            See srcsrv.doc for full documentation on SRCSRVCMD.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.SourceIndexBase.SourceTargetFormat">
+            <summary>
+            Gets or sets the source target format. The SRCSRVTRG environment variable.
+            </summary>
+            <value>The source target format.</value>
+            <remarks>
+            Describes how to build the target path for the extracted file. 
+            See srcsrv.doc for full documentation on SRCSRVTRG.
+            </remarks>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.SourceServer.SrcTool">
+            <summary>
+            A task for the srctool from source server.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.SrcTool.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.SrcTool.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
+            <summary>
+            Parses a single line of text to identify any errors or warnings in canonical format.
+            </summary>
+            <param name="singleLine">A single line of text for the method to parse.</param>
+            <param name="messageImportance">A value of <see cref="T:Microsoft.Build.Framework.MessageImportance"/> that indicates the importance level with which to log the message.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.SrcTool.HandleTaskExecutionErrors">
+            <summary>
+            Handles execution errors raised by the executable file.
+            </summary>
+            <returns>
+            true if the method runs successfully; otherwise, false.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.SrcTool.GenerateFullPathToTool">
+            <summary>
+            Returns the fully qualified path to the executable file.
+            </summary>
+            <returns>
+            The fully qualified path to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.SrcTool.LogToolCommand(System.String)">
+            <summary>
+            Logs the starting point of the run to all registered loggers.
+            </summary>
+            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.PdbFile">
+            <summary>
+            Gets or sets the PDB file.
+            </summary>
+            <value>The PDB file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.SourceOnly">
+            <summary>
+            Gets or sets a value indicating whether to dumps raw source data from the PDB. The -r switch.
+            </summary>
+            <value><c>true</c> if source only; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.Filter">
+            <summary>
+            Gets or sets the filter to only source files that match this regular expression. The -l switch.
+            </summary>
+            <value>The filter regular expression.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.Extract">
+            <summary>
+            Gets or sets a value indicating whether to extracts the files, instead of simply listing them. The -x switch.
+            </summary>
+            <value><c>true</c> if extract; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.ExtractDirectory">
+            <summary>
+            Gets or sets the directory to extract to. The -d switch.
+            </summary>
+            <value>The extract directory.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.CountOnly">
+            <summary>
+            Gets or sets a value indicating whether to get the count of indexed files. The -c switch.
+            </summary>
+            <value><c>true</c> if count only; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.SourceCount">
+            <summary>
+            Gets or sets the number of source files.
+            </summary>
+            <value>The number of source files.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.SourceFiles">
+            <summary>
+            Gets the source files. Populated when <see cref="P:MSBuild.Community.Tasks.SourceServer.SrcTool.SourceOnly"/> is <c>true</c>.
+            </summary>
+            <value>The source files.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.ExtractedFiles">
+            <summary>
+            Gets the extracted files. Populated when <see cref="P:MSBuild.Community.Tasks.SourceServer.SrcTool.Extract"/> is <c>true</c>.
+            </summary>
+            <value>The extracted files.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>
+            The name of the executable file to run.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.SrcTool.StandardOutputLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.SourceServer.SvnSourceIndex">
+            <summary>
+            A subversion source index task.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.SvnSourceIndex.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.SourceServer.SvnSourceIndex"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.SvnSourceIndex.AddSourceProperties(MSBuild.Community.Tasks.SourceServer.SymbolFile)">
+            <summary>
+            Adds the source properties to the symbol file.
+            </summary>
+            <param name="symbolFile">The symbol file to add the source properties to.</param>
+            <returns>
+            	<c>true</c> if successful; otherwise <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.SvnSourceIndex.CreateSourceIndexFile(MSBuild.Community.Tasks.SourceServer.SymbolFile,System.String)">
+            <summary>
+            Creates the source index file.
+            </summary>
+            <param name="symbolFile">The symbol file to create the index file from.</param>
+            <param name="sourceIndexFile">The source index file.</param>
+            <returns>
+            	<c>true</c> if successful; otherwise <c>false</c>.
+            </returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.SourceServer.SymbolFile">
+            <summary>
+            A class representing a symbol file.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.SymbolFile.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.SourceServer.SymbolFile"/> class.
+            </summary>
+            <param name="fileName">Name of the file.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.SymbolFile.#ctor(System.IO.FileInfo)">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.SourceServer.SymbolFile"/> class.
+            </summary>
+            <param name="fileInfo">The file info.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SourceServer.SymbolFile.AddSourceFiles(System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            Adds the source files.
+            </summary>
+            <param name="files">The files.</param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.SymbolFile.SourceFiles">
+            <summary>
+            Gets the source files.
+            </summary>
+            <value>The source files.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SourceServer.SymbolFile.IsIndexed">
+            <summary>
+            Gets or sets a value indicating whether this instance is indexed.
+            </summary>
+            <value>
+            	<c>true</c> if this instance is indexed; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.SqlServer.SqlPubCommands">
+            <summary>
+            The SqlPubWiz commands
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.SqlServer.SqlPubCommands.Script">
+            <summary>
+            Scripts a local database to one or more files
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.SqlServer.SqlPubCommands.Publish">
+            <summary>
+            Publishes a local database to a web service provided by a hoster.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.SqlServer.SqlPubWiz">
+            <summary>
+            The Database Publishing Wizard enables the deployment of
+            SQL Server databases (both schema and data) into a shared
+            hosting environment.
+            </summary>
+            <example>Generate the database script for Northwind on localhost.
+            <code><![CDATA[
+            <SqlPubWiz 
+                Database="Northwind" 
+                Output="Northwind.sql" 
+                SchemaOnly="true" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.GenerateFullPathToTool">
+            <summary>
+            Returns the fully qualified path to the executable file.
+            </summary>
+            <returns>
+            The fully qualified path to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.LogToolCommand(System.String)">
+            <summary>
+            Logs the starting point of the run to all registered loggers.
+            </summary>
+            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Command">
+            <summary>
+            Gets or sets the database publishing command.
+            </summary>
+            <value>The database publishing command.</value>
+            <remarks>
+            Use either script or publish. Use script to script a local
+            database to a file on the local computer. Use publish to 
+            transfer database objects directly to a hosted database via
+            a web service. script and publish enable some of the same 
+            options and switches. Some options and switches are only 
+            enabled only by one of these verbs.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.ConnectionString">
+            <summary>
+            Gets or sets the full connection string to the local database.
+            </summary>
+            <value>The connection string.</value>
+            <remarks>
+            Provides a full connection string to connect to the local 
+            database. This connection string encapsulates all connection 
+            options to the server. Incompatible with <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Username"/>, 
+            <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Password"/> or, <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Server"/>.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Database">
+            <summary>
+            Gets or sets the name of the local database to be scripted.
+            </summary>
+            <value>The name of the database to be scripted.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Username">
+            <summary>
+            Gets or sets the SQL Server user name to use for connection
+            to the source database. 
+            </summary>
+            <value>The SQL Server user name.</value>
+            <remarks>
+            Specifies the SQL Server User name to use for connection
+            to the source database. Requires <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Password"/>.
+            Incompatible with <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.ConnectionString"/>.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Password">
+            <summary>
+            Gets or sets the password to use for connection
+            to the source database.
+            </summary>
+            <value>The password.</value>
+            <remarks>
+            Specifies the password to use for connection to the source
+            database. Requires <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Username"/>. 
+            Incompatible with <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.ConnectionString"/>.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Server">
+            <summary>
+            Gets or sets the name or IP address for the local database connection.
+            </summary>
+            <value>The name or IP address of server.</value>
+            <remarks>
+            Specifies the name or IP address for the local database connection.
+            The default is localhost. Incompatible with <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.ConnectionString"/>.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Output">
+            <summary>
+            Gets or sets the full file path for the script file generated.
+            </summary>
+            <value>The full file path.</value>
+            <remarks>
+            Use only with script. Specifies the full file path for the script
+            file generated by the sqlpubwiz. 
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.SchemaOnly">
+            <summary>
+            Gets or sets a value indicating whether the schema, 
+            but not the data, should be scripted.
+            </summary>
+            <value>
+            <c>true</c> if only the schema should be scripted; 
+            otherwise, <c>false</c>.
+            </value>
+            <remarks>
+            Specifies that the schema, but not the data, should be
+            scripted. Incompatible with <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.DataOnly"/>.
+            If neither <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.SchemaOnly"/> nor <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.DataOnly"/>
+            are specified, both the schema and data are scripted.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.DataOnly">
+            <summary>
+            Gets or sets a value indicating whether the data but 
+            not the schema should be scripted.
+            </summary>
+            <value>
+            <c>true</c> if only the data is scripted; 
+            otherwise, <c>false</c>.
+            </value>
+            <remarks>
+            Specifies that the data but not the schema should be 
+            scripted. Incompatible with <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.NoDropExisting"/> 
+            or <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.SchemaOnly"/>. If neither <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.SchemaOnly"/>
+            nor <see cref="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.DataOnly"/> are specified, both the schema
+            and data are scripted.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.TargetServer">
+            <summary>
+            Gets or sets the target server the script should target.
+            </summary>
+            <value>The target server the script should target.</value>
+            <remarks>
+            Specifies that the script to be generated should target
+            a SQL Server 2000 or SQL Server 2005 instance. 
+            The default is SQL Server 2005.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.NoSchemaQualify">
+            <summary>
+            Gets or sets a value indicating whether objects will
+            not be qualified with a schema.
+            </summary>
+            <value>
+            <c>true</c> if objects will not be schema qualified;
+            otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.NoDropExisting">
+            <summary>
+            Gets or sets a value indicating whether the produced 
+            script should not drop pre-existing objects.
+            </summary>
+            <value>
+            <c>true</c> if pre-existing objects should not be dropped;
+            otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.Quiet">
+            <summary>
+            Gets or sets a value indicating output message suppression.
+            </summary>
+            <value><c>true</c> to suppress messages; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.HosterName">
+            <summary>
+            Gets or sets the friendly name of previously
+            configured hosting Web service.
+            </summary>
+            <value>The name of the hoster.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.WebServiceAddress">
+            <summary>
+            Gets or sets the configuration of the hosting Web service endpoint.
+            </summary>
+            <value>The web service address.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.ServiceUsername">
+            <summary>
+            Gets or sets the username on the hosting Web service endpoint.
+            </summary>
+            <value>The service username.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.ServicePassword">
+            <summary>
+            Gets or sets the password for the remote Web service endpoint.
+            </summary>
+            <value>The service password.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.ServiceDatabaseServer">
+            <summary>
+            Gets or sets the database name to publish to on the remote server.
+            </summary>
+            <value>The service database server.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.ServiceDatabase">
+            <summary>
+            Gets or sets the remote database server name.
+            </summary>
+            <value>The service database.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.NoTransaction">
+            <summary>
+            Gets or sets a value indicating whether the publish operation
+            should not be executed within a single transaction.
+            </summary>
+            <value><c>true</c> to not publish in a single transaction; otherwise, <c>false</c>.</value>
+            <remarks>
+            Specifies that the publish operation should not be executed
+            within a single transaction.  This reduces logging overhead
+            on the target server, but if the publish is interrupted, the
+            target database may be left in a partially populated state.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>The name of the executable file to run.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.SqlPubWiz.StandardOutputLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Subversion.SvnCopy">
+            <summary>
+            Copy a file or folder in Subversion
+            </summary>
+            <remarks>
+            This is most useful for automatically tagging your source code during a build. 
+            You can create a tag by copying a path from one server location to another.
+            </remarks>
+            <example>Create a tag of the trunk with the current Cruise Control build number:
+            <code><![CDATA[
+            <Target Name="TagTheBuild">
+              <SvnCopy SourcePath="file:///d:/svn/repo/Test/trunk"
+                       DestinationPath="file:///d:/svn/repo/Test/tags/BUILD-$(CCNetLabel)" 
+                       Message="Automatic build of $(CCNetProject)" />      
+            </Target>
+            ]]></code>
+            </example>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Subversion.SvnClient">
+            <summary>
+            Subversion client base class
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnClient.GenerateSvnCommand">
+            <summary>
+            Generates the SVN command.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnClient.GenerateSvnArguments">
+            <summary>
+            Generates the SVN arguments.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnClient.Execute">
+            <summary>
+            Runs the exectuable file with the specified task parameters.
+            </summary>
+            <returns>
+            true if the task runs successfully; otherwise, false.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnClient.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnClient.ValidateParameters">
+            <summary>
+            Indicates whether all task paratmeters are valid.
+            </summary>
+            <returns>
+            true if all task parameters are valid; otherwise, false.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnClient.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
+            <summary>
+            Logs the events from text output.
+            </summary>
+            <param name="singleLine">The single line.</param>
+            <param name="messageImportance">The message importance.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnClient.GenerateFullPathToTool">
+            <summary>
+            Returns the fully qualified path to the executable file.
+            </summary>
+            <returns>
+            The fully qualified path to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnClient.FindToolPath(System.String)">
+            <summary>
+            Finds the tool path.
+            </summary>
+            <param name="toolName">Name of the tool.</param>
+            <returns></returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnClient.LogToolCommand(System.String)">
+            <summary>
+            Logs the starting point of the run to all registered loggers.
+            </summary>
+            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.Command">
+            <summary>
+            Gets or sets the command.
+            </summary>
+            <value>The command.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.Arguments">
+            <summary>
+            Gets or sets the arguments.
+            </summary>
+            <value>The arguments.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.Username">
+            <summary>
+            Gets or sets the username.
+            </summary>
+            <value>The username.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.Password">
+            <summary>
+            Gets or sets the password.
+            </summary>
+            <value>The password.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.SanitizePassword">
+            <summary>
+            Allows to sanitize password string from svn command log output.
+            </summary>
+            <value>The sanitize.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.Verbose">
+            <summary>
+            Gets or sets the verbose.
+            </summary>
+            <value>The verbose.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.Force">
+            <summary>
+            Gets or sets the force.
+            </summary>
+            <value>The force.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.Message">
+            <summary>
+            Gets or sets the message.
+            </summary>
+            <value>The message.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.MessageFile">
+            <summary>
+            Gets or sets the message file.
+            </summary>
+            <value>The message file.</value>
+            <remarks>
+            Uses the contents of the named file for the specified 
+            subcommand, though different subcommands do different 
+            things with this content.</remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.RepositoryPath">
+            <summary>
+            Gets or sets the repository path.
+            </summary>
+            <value>The repository path.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.LocalPath">
+            <summary>
+            Gets or sets the local path.
+            </summary>
+            <value>The local path.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.TargetFile">
+            <summary>
+            Gets or sets the target file.
+            </summary>
+            <value>The target file.</value>
+            <remarks>
+            Tells Subversion to get the list of files that you wish to operate on from
+            the filename that you provide instead of listing all the files on the command line.
+             </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.Targets">
+            <summary>
+            Gets or sets the targets.
+            </summary>
+            <value>The targets.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.NonInteractive">
+            <summary>
+            Gets or sets a value indicating the command is non interactive].
+            </summary>
+            <value><c>true</c> if non interactive; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.NoAuthCache">
+            <summary>
+            Gets or sets a value indicating no auth cache.
+            </summary>
+            <value><c>true</c> if no auth cache; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.TrustServerCert">
+            <summary>
+            Gets or sets a value indicating whether to trust the server cert.
+            </summary>
+            <value><c>true</c> to trust the server cert; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.Xml">
+            <summary>
+            Gets or sets a value indicating the output is XML.
+            </summary>
+            <value><c>true</c> to output in XML; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.Revision">
+            <summary>
+            Gets or sets the revision.
+            </summary>
+            <value>The revision.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.StandardOutput">
+            <summary>
+            Gets the output of SVN command-line client.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.StandardError">
+            <summary>
+            Gets the error output of SVN command-line client.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.StandardOutputLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.StandardErrorLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnClient.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>The name of the executable file to run.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnCopy.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Subversion.SvnCopy"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnCopy.GenerateSvnCommand">
+            <summary>
+            Generates the SVN command.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnCopy.ValidateParameters">
+            <summary>
+            Indicates whether all task paratmeters are valid.
+            </summary>
+            <returns>
+            true if all task parameters are valid; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnCopy.SourcePath">
+            <summary>
+            The path of the source file or folder that should be copied
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnCopy.DestinationPath">
+            <summary>
+            The path to which the SourcePath should be copied
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnCopy.BuildTree">
+            <summary>
+            Specifies whether to create any missing directories and subdirectories 
+            in the specified <see cref="P:MSBuild.Community.Tasks.Subversion.SvnCopy.DestinationPath"/>
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Subversion.Info">
+            <remarks/>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.Info.#ctor">
+            <remarks/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.Info.Entries">
+            <remarks/>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Subversion.Entry">
+            <remarks/>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.Entry.#ctor">
+            <remarks/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.Entry.Url">
+            <remarks/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.Entry.Repository">
+            <remarks/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.Entry.WorkingCopy">
+            <remarks/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.Entry.Commit">
+            <remarks/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.Entry.Kind">
+            <remarks/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.Entry.Path">
+            <remarks/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.Entry.Revision">
+            <remarks/>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Subversion.EntryCollection">
+            <remarks/>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.EntryCollection.#ctor">
+            <remarks/>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.EntryCollection.GetKeyForItem(MSBuild.Community.Tasks.Subversion.Entry)">
+            <remarks/>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Subversion.Repository">
+            <remarks/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.Repository.Root">
+            <remarks/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.Repository.Uuid">
+            <remarks/>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Subversion.WorkingCopy">
+            <remarks/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.WorkingCopy.Schedule">
+            <remarks/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.WorkingCopy.Depth">
+            <remarks/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.WorkingCopy.TextUpdated">
+            <remarks/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.WorkingCopy.TextUpdatedSpecified">
+            <remarks/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.WorkingCopy.Checksum">
+            <remarks/>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Subversion.LastCommit">
+            <remarks/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.LastCommit.Author">
+            <remarks/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.LastCommit.Date">
+            <remarks/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.LastCommit.DateSpecified">
+            <remarks/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.LastCommit.Revision">
+            <remarks/>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Subversion.SvnStatus">
+            <summary>
+             Subversion status command.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnStatus.#ctor">
+            <summary>
+             Creates an instance of SvnStatus.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnStatus.Execute">
+            <summary>
+            Runs the exectuable file with the specified task parameters.
+            </summary>
+            <returns>
+            true if the task runs successfully; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnStatus.Entries">
+            <summary>
+            Gets or sets the entries.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.SymbolServer.SymStoreCommands">
+            <summary>
+            Commands for the SymStore tasks.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.SymbolServer.SymStoreCommands.add">
+            <summary>
+            Add to the symbol server store.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.SymbolServer.SymStoreCommands.query">
+            <summary>
+            Query the symbol server store.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.SymbolServer.SymStoreCommands.delete">
+            <summary>
+            Delete from the symbol serer store.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.SymbolServer.SymStore">
+            <summary>
+            Task that wraps the Symbol Server SymStore.exe application.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SymbolServer.SymStore.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.SymbolServer.SymStore"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SymbolServer.SymStore.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SymbolServer.SymStore.GenerateFullPathToTool">
+            <summary>
+            Returns the fully qualified path to the executable file.
+            </summary>
+            <returns>
+            The fully qualified path to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SymbolServer.SymStore.LogToolCommand(System.String)">
+            <summary>
+            Logs the starting point of the run to all registered loggers.
+            </summary>
+            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Command">
+            <summary>
+            Gets or sets the command.
+            </summary>
+            <value>The command.</value>
+            <enum cref="T:MSBuild.Community.Tasks.SymbolServer.SymStoreCommands"/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Append">
+            <summary>
+            Gets or sets a value indicating SymStore will append new indexing information to an existing index file.
+            </summary>
+            <value><c>true</c> if append; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Comment">
+            <summary>
+            Gets or sets the comment for the transaction.
+            </summary>
+            <value>The comment for the transaction.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Compress">
+            <summary>
+            Gets or sets a value indicating SymStore will create a compressed version of each file copied to the symbol store instead of using an uncompressed copy of the file.
+            </summary>
+            <value><c>true</c> if compress; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.LogFile">
+            <summary>
+            Gets or sets a log file to be used for command output. If this is not included, transaction information and other output is sent to stdout.
+            </summary>
+            <value>The log file to be used for command output.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Files">
+            <summary>
+            Gets or sets the network path of files or directories to add.
+            </summary>
+            <value>The network path of files or directories to add.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Share">
+            <summary>
+            Gets or sets the server and share where the symbol files were originally stored.
+            </summary>
+            <value>The server and share where the symbol files were originally stored.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.ID">
+            <summary>
+            Gets or sets the transaction ID string.
+            </summary>
+            <value>The transaction ID string.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Local">
+            <summary>
+            Gets or sets a value indicating whether the file will be in a local directory rather than a network path.
+            </summary>
+            <value><c>true</c> if local; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Verbose">
+            <summary>
+            Gets or sets a value indicating whether SymStore will display verbose output.
+            </summary>
+            <value><c>true</c> if verbose; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Pointer">
+            <summary>
+            Gets or sets a value indicating whether SymStore will store a pointer to the file, rather than the file itself.
+            </summary>
+            <value><c>true</c> if pointer; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Recursive">
+            <summary>
+            Gets or sets a value indicating whether SymStore will add files or directories recursively.
+            </summary>
+            <value><c>true</c> if recursive; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Store">
+            <summary>
+            Gets or sets the root directory for the symbol store.
+            </summary>
+            <value>The root directory for the symbol store.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Product">
+            <summary>
+            Gets or sets the name of the product.
+            </summary>
+            <value>The name of the product.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Version">
+            <summary>
+            Gets or sets the version of the product.
+            </summary>
+            <value>The version of the product.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Message">
+            <summary>
+            Gets or sets the message to be added to each file.
+            </summary>
+            <value>The message to be added to each file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.Relative">
+            <summary>
+            Gets or sets a value indicating whether the paths in the file pointers will be relative.
+            </summary>
+            <value><c>true</c> if relative; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.NoReference">
+            <summary>
+            Gets or sets a value indicating whether to omit the creation of reference pointer files for the files and pointers being stored.
+            </summary>
+            <value><c>true</c> to omit the creation of reference pointer; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.WriteIndex">
+            <summary>
+            Gets or sets the index file. Causes SymStore not to store the actual symbol files. Instead, SymStore records information in the IndexFile that will enable SymStore to access the symbol files at a later time.
+            </summary>
+            <value>The write index file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.ReadIndex">
+            <summary>
+            Gets or sets the index file. Causes SymStore to read the data from a file created with WriteIndexFile.
+            </summary>
+            <value>The read index file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>
+            The name of the executable file to run.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SymbolServer.SymStore.StandardOutputLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Tfs.TfsClient">
+            <summary>
+            A task for Team Foundation Server version control.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Tfs.TfsClient.GenerateCommand(Microsoft.Build.Utilities.CommandLineBuilder)">
+            <summary>
+            Generates the command.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Build.Utilities.CommandLineBuilder"/>.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Tfs.TfsClient.GenerateArguments(Microsoft.Build.Utilities.CommandLineBuilder)">
+            <summary>
+            Generates the arguments.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Build.Utilities.CommandLineBuilder"/>.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Tfs.TfsClient.GenerateFullPathToTool">
+            <summary>
+            Returns the fully qualified path to the executable file.
+            </summary>
+            <returns>
+            The fully qualified path to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Tfs.TfsClient.LogToolCommand(System.String)">
+            <summary>
+            Logs the starting point of the run to all registered loggers.
+            </summary>
+            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Tfs.TfsClient.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Tfs.TfsClient.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
+            <summary>
+            Parses a single line of text to identify any errors or warnings in canonical format.
+            </summary>
+            <param name="singleLine">A single line of text for the method to parse.</param>
+            <param name="messageImportance">A value of <see cref="T:Microsoft.Build.Framework.MessageImportance"/> that indicates the importance level with which to log the message.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Tfs.TfsClient.ValidateParameters">
+            <summary>
+            Indicates whether all task paratmeters are valid.
+            </summary>
+            <returns>
+            true if all task parameters are valid; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Command">
+            <summary>
+            Gets or sets the Team Foundation Server command.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Files">
+            <summary>
+            Gets or sets the files.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Recursive">
+            <summary>
+            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is recursive.
+            </summary>
+            <value>
+              <c>true</c> if recursive; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.All">
+            <summary>
+            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is all.
+            </summary>
+            <value>
+              <c>true</c> if all; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Overwrite">
+            <summary>
+            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is overwrite.
+            </summary>
+            <value>
+              <c>true</c> if overwrite; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Override">
+            <summary>
+            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is override.
+            </summary>
+            <value>
+              <c>true</c> if override; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Force">
+            <summary>
+            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is force.
+            </summary>
+            <value>
+              <c>true</c> if force; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Preview">
+            <summary>
+            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is preview.
+            </summary>
+            <value>
+              <c>true</c> if preview; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Remap">
+            <summary>
+            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is remap.
+            </summary>
+            <value>
+              <c>true</c> if remap; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Silent">
+            <summary>
+            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is silent.
+            </summary>
+            <value>
+              <c>true</c> if silent; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Saved">
+            <summary>
+            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is saved.
+            </summary>
+            <value>
+              <c>true</c> if saved; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Validate">
+            <summary>
+            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is validate.
+            </summary>
+            <value>
+              <c>true</c> if validate; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Bypass">
+            <summary>
+            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Tfs.TfsClient"/> is bypass.
+            </summary>
+            <value>
+              <c>true</c> if bypass; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Comment">
+            <summary>
+            Gets or sets the comment.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Version">
+            <summary>
+            Gets or sets the version.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Lock">
+            <summary>
+            Gets or sets the lock.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Type">
+            <summary>
+            Gets or sets the type.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Author">
+            <summary>
+            Gets or sets the author.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Notes">
+            <summary>
+            Gets or sets the notes.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Format">
+            <summary>
+            Gets or sets the format.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Collection">
+            <summary>
+            Gets or sets the collection.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.UserName">
+            <summary>
+            Gets or sets the name of the user.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Password">
+            <summary>
+            Gets or sets the password.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.WorkspaceName">
+            <summary>
+            Gets or sets the name of the workspace.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.WorkspaceOwner">
+            <summary>
+            Gets or sets the workspace owner.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.ShelveSetName">
+            <summary>
+            Gets or sets the name of the shelve set.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.ShelveSetOwner">
+            <summary>
+            Gets or sets the shelve set owner.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.Changeset">
+            <summary>
+            Gets or sets the changeset.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.ServerPath">
+            <summary>
+            Gets or sets the server path.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.StandardOutputLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.StandardErrorLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Tfs.TfsClient.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <returns>
+            The name of the executable file to run.
+            </returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Services.IRegistry">
+            <summary>
+            The contract for a service that will provide access to the registry.
+            </summary>
+            <exclude />
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Services.IRegistry.GetSubKeys(Microsoft.Win32.RegistryHive,System.String)">
+            <summary>
+            Returns the names of the subkeys under the provided key.
+            </summary>
+            <param name="hive">The hive where <paramref name="key"/> is located.</param>
+            <param name="key">The key to search.</param>
+            <returns>A list of subkeys.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Services.IRegistry.GetValue(System.String,System.String)">
+            <summary>
+            Returns the value of an entry in the registry.
+            </summary>
+            <param name="key">The key of the registry entry that contains <paramref name="valueName"/></param>
+            <param name="valueName">The name of the value to return.</param>
+            <returns>The value of the registry entry.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Services.Win32Registry">
+            <summary>
+            Provides access to the Windows registry.
+            </summary>
+            <exclude />
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Services.Win32Registry.GetSubKeys(Microsoft.Win32.RegistryHive,System.String)">
+            <summary>
+            Returns the names of the subkeys under the provided key.
+            </summary>
+            <param name="hive">The hive where <paramref name="key"/> is located.</param>
+            <param name="key">The key to search.</param>
+            <returns>A list of subkeys.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Services.Win32Registry.GetValue(System.String,System.String)">
+            <summary>
+            Returns the value of an entry in the registry.
+            </summary>
+            <param name="key">The key of the registry entry that contains <paramref name="valueName"/></param>
+            <param name="valueName">The name of the value to return.</param>
+            <returns>The value of the registry entry.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.User">
+            <summary>
+            Provides information about the build user.
+            </summary>
+            <example>Get build user information.
+            <code><![CDATA[
+            <User>
+              <Output TaskParameter="UserNameWithDomain" PropertyName="BuildUserID" />
+              <Output TaskParameter="FullName" PropertyName="BuildUserName" />
+              <Output TaskParameter="Email" PropertyName="BuildUserEmail" />
+              <Output TaskParameter="Phone" PropertyName="BuildUserPhone" />
+            </User>    
+            ]]></code>
+            </example>
+            <remarks>
+            The following output parameters are set only if information about the build user can be retrieved
+            from the Active Directory if one exists:
+            <list type="bullet">
+              <item><c>FirstName</c></item>
+              <item><c>LastName</c></item>
+              <item><c>MiddleInitial</c></item>
+              <item><c>FullName</c></item>
+              <item><c>Email</c></item>
+              <item><c>Phone</c></item>
+            </list>
+            </remarks>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.User.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:User"/> class.
+            </summary>  
+        </member>
+        <member name="M:MSBuild.Community.Tasks.User.Execute">
+            <summary>
+            Executes the task.
+            </summary>
+            <returns>
+            <see langword="true"/> if the task ran successfully; otherwise <see langword="false"/>.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.User.UserName">
+            <summary>
+            Gets the user name of the build user.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.User.DomainName">
+            <summary>
+            Gets the domain name of the build user.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.User.FirstName">
+            <summary>
+            Gets the first name of the build user.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.User.LastName">
+            <summary>
+            Gets the last name of the build user.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.User.MiddleInitial">
+            <summary>
+            Gets the middle initial of the build user.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.User.Email">
+            <summary>
+            Gets the email address of the build user.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.User.Phone">
+            <summary>
+            Gets the phone number of the build user.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.User.UserNameWithDomain">
+            <summary>
+            Gets the username and domain name of the build user in "[Domain name]\[User name]" format.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.User.FullName">
+            <summary>
+            Gets the full name of the build user in "[First name] [Middle initial]. [Last name]" format .
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Xml.XmlMassUpdate">
+            <summary>
+            Performs multiple updates on an XML file
+            </summary>
+            <remarks>
+      XmlMassUpdate allows to to specify multiple changes to make to an XML file (the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.ContentFile"/>. By default, the changes are applied to the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.ContentFile"/>, but you can create a new file by providing the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.MergedFile"/> attribute.  The change instructions are specified using XML in the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsFile"/>. If the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsFile"/> does not mirror the structure of the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.ContentFile"/> exactly, you can specify the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.ContentRoot"/> and <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsRoot"/> XPath expressions which determine how the files should be mapped to each other.
+      <para>
+        Any element within the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsRoot"/> will find the corresponding element in the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.ContentRoot"/>. If it does not exist, it will be created with all of its attributes. If it does exist, the attributes will be added or updated as specified.
+      </para>
+      <para>
+        Any attribute declared within the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.UpdateControlNamespace"/> will not be copied to the modified file. Valid attributes are <c>key</c> and <c>action</c>. The <c>key</c> attribute allows you to define an attribute to use as the identifying attribute when you only want to update a single element, and multiple elements with the same name exist. You can also use the <c>action="remove"</c> attribute to specify that an element should be deleted instead of updated.
+      </para>
+    </remarks><example>
+      <para>
+        These examples will demonstrate how to make multiple updates to a XML file named web.config. It looks like:
+        <code>
+          <![CDATA[<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+  <appSettings>
+    <add key="ItemsPerPage" value="10" />
+    <add key="EnableCaching" value="true" />
+    <add key="DefaultServer" value="TIGRIS" />
+  </appSettings>
+    <system.web>
+        <compilation defaultLanguage="c#" debug="true" />
+        <customErrors mode="Off" />
+        <trace enabled="true" requestLimit="10" pageOutput="true" />
+        <globalization requestEncoding="utf-8" responseEncoding="utf-8" />
+    </system.web>
+</configuration> ]]>
+        </code>
+      </para>
+    </example><example>
+      You can update the file using instructions from an external file (specified as the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsFile"/>):
+      <code>
+        <![CDATA[<XmlMassUpdate ContentFile="web.config" SubstitutionsFile="changes.xml" ContentRoot="/configuration/system.web" SubstitutionsRoot="/system.web" /> ]]>
+      </code>
+      The <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsFile"/> is named changes.xml and contains:
+      <code>
+        <![CDATA[<system.web>
+        <compilation debug="false" />
+        <customErrors mode="RemoteOnly" defaultRedirect="Error.htm">
+          <error statusCode="401" redirect="AccessDenied.aspx" />
+        </customErrors>
+        <trace enabled="false" />
+      </system.web> ]]>
+      </code>
+    </example><example>
+      You can also provide the update instructions within the MSBuild project file itself. It takes advantage of the MSBuild ProjectExtensions element which allows you to add XML to a project file that will be ignored by the MSBuild engine. This example also demonstrates how to use <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.NamespaceDefinitions"/>:
+      <code>
+        <![CDATA[<ProjectExtensions>
+  <system.web>
+    <compilation debug="false" />
+    <trace enabled="false" />
+  </system.web>
+</ProjectExtensions>
+<Target Name="SubstituteFromProj">
+  <XmlMassUpdate ContentFile="web.config" ContentRoot="/configuration/system.web"
+    NamespaceDefinitions="msb=http://schemas.microsoft.com/developer/msbuild/2003"
+    SubstitutionsFile="$(MSBuildProjectFullPath)"
+    SubstitutionsRoot="/msb:Project/msb:ProjectExtensions/msb:system.web" />
+</Target> ]]>
+      </code>
+    </example><example>
+      The following example demonstrates how to deal with "keyed" elements. When you need to update an element, and multiple elements exist with the same name, it must be be differentied by one of its attributes. You designate the differentiating attribute using the "key" attribute declared in the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.UpdateControlNamespace"/>.
+      If an element matching the keyed attribute is not found, a new element will be created (DefaultSort in the example). This example also demonstrates creating a new file with the merged changes instead of modifying the original file.
+      <code>
+        <![CDATA[ <XmlMassUpdate ContentFile="web.config" SubstitutionsFile="changes.xml" MergedFile="web.config.keyed.xml"  /> ]]>
+      </code>
+      Using a changes.xml file with the following contents:
+      <code>
+        <![CDATA[<configuration xmlns:xmu="urn:msbuildcommunitytasks-xmlmassupdate">
+  <appSettings>
+        <add xmu:key="key" key="EnableCaching" value="false" />
+        <add xmu:key="key" key="DefaultSort" value="LastName" />
+  </appSettings>
+</configuration> ]]>
+      </code>
+    </example><example>
+      Use a changes.xml file with the following contents to demonstrate how to remove an element from the updated file:
+      <code>
+        <![CDATA[<configuration xmlns:xmu="urn:msbuildcommunitytasks-xmlmassupdate">
+  <appSettings>
+        <add xmu:key="key" key="ItemsPerPage" xmu:action="remove" />
+        <trace xmu:action="remove" />
+  </appSettings>
+</configuration> ]]>
+      </code>
+    </example><example>
+      You can also specify the changes to apply from within the target document. By making use of the <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsRoot"/> property, you can store multiple sets of changes to apply based on runtime conditions.
+      Consider the following source web.config file:
+      <code>
+        <![CDATA[<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <system.web>
+        <compilation defaultLanguage="c#" debug="true" />
+        <customErrors mode="Off" />
+        <trace enabled="true" requestLimit="10" pageOutput="true" />
+        <globalization requestEncoding="utf-8" responseEncoding="utf-8" />
+    </system.web>
+    <substitutions>
+      <test>
+        <system.web>
+          <compilation debug="false" />
+          <trace enabled="true" />
+        </system.web>
+      </test>
+      <prod>
+        <system.web>
+          <compilation debug="false" />
+          <trace enabled="false" />
+        </system.web>
+      </prod>
+    </substitutions>
+</configuration> ]]>
+      </code>
+      You could use the following task definition, which relies on a property "TargetEnvironment" to determine which set of changes to apply:
+      <code>
+        <![CDATA[ <XmlMassUpdate ContentFile="web.config" ContentRoot="/configuration" SubstitutionsRoot="/configuration/substitutions/$(TargetEnvironment)" /> ]]>
+      </code>
+      You will need to provide a value of "test" or "prod" to the TargetEnvironment property. The property can be defined in a PropertyGroup section of the MSBuild file, or passed as a command-line parameter.
+      <code>
+        <![CDATA[ msbuild build.proj /p:TargetEnvironment=prod ]]>
+      </code>
+
+    </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Xml.XmlMassUpdate.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            True if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Xml.XmlMassUpdate.LoadSubstitutionsDocument">
+            <summary>
+            Returns <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsFile"/> as an <see cref="T:System.Xml.XmlDocument"/>.
+            </summary>
+            <remarks>This method is not intended for use by consumers. It is exposed for testing purposes.</remarks>
+            <returns></returns>
+            <exclude/>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Xml.XmlMassUpdate.LoadContentDocument">
+            <summary>
+            Returns <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.ContentFile"/> as an <see cref="T:System.Xml.XmlDocument"/>.
+            </summary>
+            <remarks>This method is not intended for use by consumers. It is exposed for testing purposes.</remarks>
+            <returns></returns>
+            <exclude/>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SaveMergedDocument(System.Xml.XmlDocument)">
+            <summary>
+            Creates <see cref="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.MergedFile"/> from the specified <see cref="T:System.Xml.XmlDocument"/>
+            </summary>
+            <param name="mergedDocument">The XML to save to a file</param>
+            <remarks>This method is not intended for use by consumers. It is exposed for testing purposes.</remarks>
+            <returns></returns>
+            <exclude/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.ContentFile">
+            <summary>
+            The original file whose content is to be updated
+            </summary>
+            <remarks>This task is currently under construction and not necessarily feature complete.</remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsFile">
+            <summary>
+            The file containing the list of updates to perform
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.MergedFile">
+            <summary>
+            The file created after performing the updates
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsRoot">
+            <summary>
+            The XPath expression used to locate the list of substitutions to perform
+            </summary>
+            <remarks>When not specified, the default is the document root: <c>/</c>
+            <para>When there is a set of elements with the same name, and you want to update
+            a single element which can be identified by one of its attributes, you need to include an attribute
+            named 'key' in the namespace <c>urn:msbuildcommunitytasks-xmlmassupdate</c>. The value of the
+            attribute is the name of the attribute that should be used as the unique identifier.</para></remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.ContentRoot">
+            <summary>
+            The XPath expression identifying root node that substitions are relative to
+            </summary>
+            <remarks>When not specified, the default is the document root: <c>/</c></remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.NamespaceDefinitions">
+            <summary>
+            A collection of prefix=namespace definitions used to query the XML documents
+            </summary>
+            <example>
+      Defining multiple namespaces:
+      <code>
+        <![CDATA[
+<XmlMassUpdate ContentFile="web.config"
+  SubstitutionsRoot="/configuration/substitutions"
+  NamespaceDefinitions = "soap=http://www.w3.org/2001/12/soap-envelope;x=http://www.w3.org/1999/XSL/Transform">
+/>]]>
+      </code>
+    </example>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.IgnoreMissingSubstitutionsRoot">
+            <summary>
+            If set to true, the task won't fail if the substitution root is missing
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.ContentPathUsedByTask">
+            <summary>
+            The full path of the file containing content updated by the task
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.SubstitutionsPathUsedByTask">
+            <summary>
+            The full path of the file containing substitutions used by the task
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.MergedPathUsedByTask">
+            <summary>
+            The full path of the file containing the results of the task
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xml.XmlMassUpdate.UpdateControlNamespace">
+            <summary>
+            The namespace used for XmlMassUpdate pre-defined attributes
+            </summary>
+            <remarks>Evaluates to: <c>urn:msbuildcommunitytasks-xmlmassupdate</c>
+            <para>Attributes decorated with this namespace are used to control how a substitutions element
+            or attribute is handled during the update. For example, the key attribute is used to identify the
+            attribute on an element that uniquely identifies the element in a set.</para></remarks>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap">
+            <summary>
+            Sets an application mapping for a filename extension on an existing web directory.
+            </summary>
+            <example>Map the .axd extension to the lastest version of ASP.NET:
+            <code><![CDATA[
+            <WebDirectoryScriptMap VirtualDirectoryName="MyWeb" Extension=".axd" MapToAspNet="True" VerifyFileExists="False" />
+            ]]></code>
+            </example>
+            <example>Map GET requests to the .rss extension to a specific executable:
+            <code><![CDATA[
+            <WebDirectoryScriptMap VirtualDirectoryName="MyWeb" Extension=".rss" Verbs="GET" ExecutablePath="$(WINDIR)\Microsoft.Net\Framework\1.0.3705\aspnet_isapi.dll" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.IIS.WebBase">
+            <summary>
+            Base task for any IIS-related task.
+            </summary>
+            <remarks>Stores the base logic for gathering the IIS version and server and port checking.  This
+            base task also stores common properties for other related tasks.</remarks>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.mIISVersion">
+            <summary>
+            IIS version.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.IIS.WebBase.GetIISVersion">
+            <summary>
+            Gets the IIS version.
+            </summary>
+            <returns>The <see cref="T:MSBuild.Community.Tasks.IIS.WebBase.IISVersion"/> for IIS.</returns>
+            <exclude/>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.IIS.WebBase.GetRemoteOSVersion">
+            <summary>
+            Gets the remote machine OS version.
+            </summary>
+            <returns>Returns a <see cref="T:System.Version"/> of the operating system.</returns>
+            <exclude/>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.IIS.WebBase.VerifyIISRoot">
+            <summary>
+            Verifies that the IIS root exists based on the <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.ServerName"/> and <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.ServerPort"/>.
+            </summary>
+            <exclude/>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.IIS.WebBase.VerifySiteHostHeaderExists(System.DirectoryServices.DirectoryEntry)">
+            <summary>
+            Verify that the IIS Website exists if it has been specified.
+            </summary>
+            <param name="site">DirectoryEntry that meets the IISWebServer schema</param>
+            <returns>True if a site is found when specified. True if no site has been specified.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.IIS.WebBase.VerifyServerPortExists(System.DirectoryServices.DirectoryEntry)">
+            <summary>
+            Helper method for <see cref="M:MSBuild.Community.Tasks.IIS.WebBase.VerifyIISRoot"/> that verifies the server port exists.
+            </summary>
+            <param name="site">The site to verify the port.</param>
+            <returns>Boolean value indicating the status of the port check.</returns>
+            <exclude/>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.IIS.WebBase.SetIISPrimitives(System.String)">
+            <summary>
+            Sets some of the protected properties for the Virtual Directory Creation Wizard.
+            </summary>
+            <param name="serverInstance">DirectoryEntry.Name where the Entry is an IISWebServer schema</param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebBase.ServerName">
+            <summary>
+            Gets or sets the name of the server.  The default value is 'localhost'.
+            </summary>
+            <value>The name of the server.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebBase.HostHeaderName">
+            <summary>
+            Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers.
+            </summary>
+            <value>The name of the host header.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebBase.ServerPort">
+            <summary>
+            Gets or sets the server port.
+            </summary>
+            <value>The server port.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebBase.IISServerPath">
+            <summary>
+            Gets or sets the IIS server path.
+            </summary>
+            <remarks>Is in the form 'IIS://localhost/W3SVC/1/Root'.</remarks>
+            <value>The IIS server path.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebBase.IISApplicationPath">
+            <summary>
+            Gets or sets the application path.
+            </summary>
+            <remarks>Is in the form '/LM/W3SVC/1/Root'.</remarks>
+            <value>The application path.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebBase.IISAppPoolPath">
+            <summary>
+            Gets or sets the IIS application pool path.
+            </summary>
+            <remarks>Is in the form 'IIS://localhost/W3SVC/AppPools'.</remarks>
+            <value>The IIS application pool path.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebBase.Username">
+            <summary>
+            Gets or sets the username for the account the task will run under.  This property
+            is needed if you specified a <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.ServerName"/> for a remote machine.
+            </summary>
+            <value>The username of the account.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebBase.Password">
+            <summary>
+            Gets or sets the password for the account the task will run under.  This property
+            is needed if you specified a <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.ServerName"/> for a remote machine.
+            </summary>
+            <value>The password of the account.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.IIS.WebBase.IISVersion">
+            <summary>
+            Defines the possible IIS versions supported by the task.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.IISVersion.Four">
+            <summary>
+            IIS version 4.x
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.IISVersion.Five">
+            <summary>
+            IIS version 5.x
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.IISVersion.Six">
+            <summary>
+            IIS version 6.x
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.IIS.WebBase.ApplicationPoolAction">
+            <summary>
+            Defines the possible application pool actions to be performed.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.ApplicationPoolAction.Recycle">
+            <summary>
+            Recycles an application pool.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.ApplicationPoolAction.Restart">
+            <summary>
+            Stops and restarts the application pool.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.ApplicationPoolAction.Start">
+            <summary>
+            Starts the application pool.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.ApplicationPoolAction.Stop">
+            <summary>
+            Stops the application pool.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.IIS.WebBase.ApplicationPoolState">
+            <summary>
+            Defines the current application pool state.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.ApplicationPoolState.Starting">
+            <summary>
+            The application pool is starting.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.ApplicationPoolState.Started">
+            <summary>
+            The application pool has started.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.ApplicationPoolState.Stopping">
+            <summary>
+            The application pool is stopping.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.IIS.WebBase.ApplicationPoolState.Stopped">
+            <summary>
+            The application pool has stopped.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            True if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.VirtualDirectoryName">
+            <summary>
+            Gets or sets the name of the virtual directory.
+            </summary>
+            <value>The name of the virtual directory.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.Extension">
+            <summary>
+            The filename extension that will be mapped to an executable.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.ExecutablePath">
+            <summary>
+            The full path to the executable used to respond to requests for a Uri ending with <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.Extension"/>
+            </summary>
+            <remarks>This property is required when <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.MapToAspNet"/> is <c>false</c> (the default).</remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.MapToAspNet">
+            <summary>
+            Indicates whether <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.Extension"/> should be mapped to the ASP.NET runtime.
+            </summary>
+            <remarks>When <c>true</c>, <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.ExecutablePath"/> is set to aspnet_isapi.dll
+            in the installation folder of the latest version of the .NET Framework.</remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.Verbs">
+            <summary>
+            A comma-separated list of the HTTP verbs to include in the application mapping.
+            </summary>
+            <remarks>The default behavior (when this property is empty or unspecified) is to map all verbs.
+            <para>A semi-colon-separated list will also be recognized, allowing you to use an MSBuild Item.</para></remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.EnableScriptEngine">
+            <summary>
+            Set to <c>true</c> when you want the application to run in a directory without Execute permissions.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryScriptMap.VerifyFileExists">
+            <summary>
+            Set to <c>true</c> to instruct the Web server to verify the existence of the requested script file and to ensure that the requesting user has access permission for that script file.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.IIS.WebDirectorySetting">
+            <summary>
+            Reads and modifies a web directory configuration setting.
+            </summary>
+            <example>Display the file system path of the MyWeb web directory:
+            <code><![CDATA[
+            <WebDirectorySetting VirtualDirectoryName="MyWeb" SettingName="Path">
+                <Output TaskParameter="SettingValue" PropertyName="LocalPath" />
+            </WebDirectorySetting>
+            <Message Text="MyWeb is located at $(LocalPath)" />
+            ]]></code>
+            </example>
+            <example>Set the default document for the MyWeb directory to Default.aspx:
+            <code><![CDATA[
+            <WebDirectorySetting VirtualDirectoryName="MyWeb" SettingName="DefaultDoc" SettingValue="Default.aspx" />
+            <WebDirectorySetting VirtualDirectoryName="MyWeb" SettingName="EnableDefaultDoc" SettingValue="True" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.IIS.WebDirectorySetting.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            True if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectorySetting.VirtualDirectoryName">
+            <summary>
+            Gets or sets the name of the virtual directory.
+            </summary>
+            <value>The name of the virtual directory.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectorySetting.SettingName">
+            <summary>
+            Gets or sets the configuration setting to read or modify.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectorySetting.SettingValue">
+            <summary>
+            Gets or sets the value of <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectorySetting.SettingName"/> on the web directory
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.ILMerge">
+            <summary>
+            A wrapper for the ILMerge tool.
+            </summary>
+            <remarks>
+            <para>
+            The ILMerge tool itself must be installed separately.
+            It is available <a href="http://research.microsoft.com/~mbarnett/ILMerge.aspx">here</a>.
+            </para>
+            <para>
+            The command line options "/wildcards" and "/lib" of ILMerge are not supported,
+            because MSBuild is in charge of expanding wildcards for item groups.
+            </para>
+            </remarks>
+            <example>
+            This example merges two assemblies A.dll and B.dll into one:
+            <code><![CDATA[
+            <PropertyGroup>
+                <outputFile>$(testDir)\ilmergetest.dll</outputFile>
+                <keyFile>$(testDir)\keypair.snk</keyFile>
+                <excludeFile>$(testDir)\ExcludeTypes.txt</excludeFile>
+                <logFile>$(testDir)\ilmergetest.log</logFile>
+            </PropertyGroup>
+            <ItemGroup>
+                <inputAssemblies Include="$(testDir)\A.dll" />
+                <inputAssemblies Include="$(testDir)\B.dll" />
+                <allowDuplicates Include="ClassAB" />
+            </ItemGroup>
+            <Target Name="merge" >
+               <ILMerge InputAssemblies="@(inputAssemblies)" 
+                   AllowDuplicateTypes="@(allowDuplicates)"
+                   ExcludeFile="$(excludeFile)"
+                   OutputFile="$(outputFile)" LogFile="$(logFile)"
+                   DebugInfo="true" XmlDocumentation="true" 
+                   KeyFile="$(keyFile)" DelaySign="true" />
+            </Target>]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.ILMerge.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.ILMerge"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.ILMerge.GenerateFullPathToTool">
+            <summary>
+            Gets the standard installation path of ILMerge.exe.
+            </summary>
+            <remarks>
+            If ILMerge is not installed at its standard installation path,
+            provide its location to <see cref="P:Microsoft.Build.Utilities.ToolTask.ToolPath"/>.
+            </remarks>
+            <returns>Returns [ProgramFiles]\Microsoft\ILMerge.exe.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.ILMerge.GenerateCommandLineCommands">
+            <summary>
+            Generates a string value containing the command line arguments
+            to pass directly to the executable file.
+            </summary>
+            <returns>
+            Returns a string value containing the command line arguments
+            to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.AllowDuplicateTypes">
+            <summary>
+            Gets or sets the names of public types
+            to be renamed when they are duplicates.
+            </summary>
+            <remarks>
+            <para>Set to an empty item group to allow all public types to be renamed.</para>
+            <para>Don't provide this parameter if no duplicates of public types are allowed.</para>
+            <para>Corresponds to command line option "/allowDup".</para>
+            <para>The default value is <c>null</c>.</para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.AllowZeroPeKind">
+            <summary>
+            Gets or sets a value indicating whether to treat an assembly 
+            with a zero PeKind flag 
+            (this is the value of the field listed as .corflags in the Manifest)
+            as if it was ILonly.
+            </summary>
+            <remarks>
+            <para>Corresponds to command line option "/zeroPeKind".</para>
+            <para>The default value is <c>false</c>.</para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.AttributeFile">
+            <summary>
+            Gets or sets the attribute assembly
+            from whre to get all of the assembly-level attributes
+            such as Culture, Version, etc.
+            It will also be used to get the Win32 Resources from.
+            </summary>
+            <remarks>
+            <para>This property is mutually exclusive with <see cref="P:MSBuild.Community.Tasks.ILMerge.CopyAttributes"/>.</para>
+            <para>
+            When not specified, then the Win32 Resources from the primary assembly 
+            are copied over into the target assembly.
+            </para>
+            <para>Corresponds to command line option "/attr".</para>
+            <para>The default value is <c>null</c>.</para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.Closed">
+            <summary>
+            Gets or sets a value indicating whether 
+            to augment the list of input assemblies
+            to its "transitive closure".
+            </summary>
+            <remarks>
+            <para>
+            An assembly is considered part of the transitive closure if it is referenced,
+            either directly or indirectly, 
+            from one of the originally specified input assemblies 
+            and it has an external reference to one of the input assemblies, 
+            or one of the assemblies that has such a reference.
+            </para>
+            <para>Corresponds to command line option "/closed".</para>
+            <para>The default value is <c>false</c>.</para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.CopyAttributes">
+            <summary>
+            Gets or sets a value indicating whether 
+            to copy the assembly level attributes
+            of each input assembly over into the target assembly.
+            </summary>
+            <remarks>
+            <para>
+            Any duplicate attribute overwrites a previously copied attribute.
+            The input assemblies are processed in the order they are specified.
+            </para>
+            <para>This parameter is mutually exclusive with <see cref="P:MSBuild.Community.Tasks.ILMerge.AttributeFile"/>.</para>
+            <para>Corresponds to command line option "/copyattrs".</para>
+            <para>The default value is <c>false</c>.</para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.DebugInfo">
+            <summary>
+            Gets or sets a value indicating whether 
+            to preserve any .pdb files
+            that are found for the input assemblies
+            into a .pdb file for the target assembly.
+            </summary>
+            <remarks>
+            <para>Corresponds to command line option "/ndebug".</para>
+            <para>The default value is <c>true</c>.</para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.DelaySign">
+            <summary>
+            Gets or sets a value indicating whether 
+            the target assembly will be delay signed.
+            </summary>
+            <remarks>
+            <para>This property can be set only in conjunction with <see cref="P:MSBuild.Community.Tasks.ILMerge.KeyFile"/>.</para>
+            <para>Corresponds to command line option "/delaysign".</para>
+            <para>The default value is <c>false</c>.</para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.ExcludeFile">
+            <summary>
+            Gets or sets the file
+            that will be used to identify types
+            that are not to have their visibility modified.
+            </summary>
+            <remarks>
+            <para>
+            If an empty item group is provided, 
+            then all types in any assembly other than the primary assembly are made non-public.
+            </para>
+            <para>Omit this parameter to prevent ILMerge from modifying the visibility of any types.</para>
+            <para>
+            The contents of the file should be one <see cref="T:System.Text.RegularExpressions.Regex"/> per line. 
+            The regular expressions are matched against each type's full name, 
+            e.g., <c>System.Collections.IList</c>. 
+            If the match fails, it is tried again with the assembly name (surrounded by square brackets) 
+            prepended to the type name. 
+            Thus, the pattern <c>\[A\].*</c> excludes all types in assembly <c>A</c> from being made non-public. 
+            The pattern <c>N.T</c> will match all types named <c>T</c> in the namespace named <c>N</c>
+            no matter what assembly they are defined in.
+            </para>
+            <para>Corresponds to command line option "/internalize".</para>
+            <para>The default value is <c>null</c>.</para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.InputAssemblies">
+            <summary>
+            Gets or sets the input assemblies to merge.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.Internalize">
+            <summary>
+            Gets or sets a value indicating whether whether types in assemblies other than the primary assembly have their visibility modified.
+            </summary>
+            <value><c>true</c> if internalize; otherwise, <c>false</c>.</value>
+            <remarks>
+            <para>This controls whether types in assemblies other than the primary assembly have 
+            their visibility modified. When it is true, then all non-exempt types that are visible 
+            outside of their assembly have their visibility modified so that they are not visible 
+            from outside of the merged assembly. A type is exempt if its full name matches a line 
+            from the ExcludeFile (Section 2.9) using the .NET regular expression engine.</para>
+            <para>Corresponds to command line option "/internalize".</para>
+            <para>The default value is <c>false</c>.</para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.KeyFile">
+            <summary>
+            Gets or sets the .snk file
+            to sign the target assembly.
+            </summary>
+            <remarks>
+            <para>Can be used with <see cref="P:MSBuild.Community.Tasks.ILMerge.DelaySign"/>.</para>
+            <para>Corresponds to command line option "/keyfile".</para>
+            <para>The default value is <c>null</c>.</para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.LogFile">
+            <summary>
+            Gets or sets a log file
+            to write log messages to.
+            </summary>
+            <remarks>
+            <para>
+            If an empty item group is provided,
+            then log messages are writte to <see cref="P:System.Console.Out"/>.
+            </para>
+            <para>Corresponds to command line option "/log".</para>
+            <para>The default value is <c>null</c>.</para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.OutputFile">
+            <summary>
+            Gets or sets the target assembly.
+            </summary>
+            <remarks>
+            <para>Corresponds to command line option "/out".</para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.PublicKeyTokens">
+            <summary>
+            Gets or sets a value indicating whether 
+            external assembly references in the manifest
+            of the target assembly will use public keys (<c>false</c>)
+            or public key tokens (<c>true</c>).
+            </summary>
+            <remarks>
+            <para>Corresponds to command line option "/publickeytokens".</para>
+            <para>The default value is <c>false</c>.</para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.SearchDirectories">
+            <summary>
+            Gets or sets the directories to be used to search for input assemblies.
+            </summary>
+            <value>The search directories.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.TargetPlatformVersion">
+            <summary>
+            Gets or sets the .NET framework version for the target assembly.
+            </summary>
+            <remarks>
+            <para>Valid values are "v1", "v1.1", "v2".</para>
+            <para>Corresponds to the first part of command line option "/targetplatform".</para>
+            <para>The default value is <c>null</c>.</para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.TargetPlatformDirectory">
+            <summary>
+            Gets or sets the directory in which <c>mscorlib.dll</c> is to be found.
+            </summary>
+            <remarks>
+            <para>Can only be used in conjunction with <see cref="P:MSBuild.Community.Tasks.ILMerge.TargetPlatformVersion"/>.</para>
+            <para>Corresponds to the second part of command line option "/targetplatform".</para>
+            <para>The default value is <c>null</c>.</para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.TargetKind">
+            <summary>
+            Gets or sets the indicator
+            whether the target assembly is created as a library (<c>Dll</c>),
+            a console application (<c>Exe</c>) or as a Windows application (<c>WinExe</c>).
+            </summary>
+            <remarks>
+            <para>Corresponds to command line option "/target".</para>
+            <para>The default value is the same kind as that of the primary assembly.</para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.Version">
+            <summary>
+            Gets or sets the version number of the target assembly.
+            </summary>
+            <remarks>
+            <para>The parameter should look like <c>6.2.1.3</c>.</para>
+            <para>Corresponds to command line option "/ver".</para>
+            <para>The default value is null.</para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.XmlDocumentation">
+            <summary>
+            Gets or sets a value indicating whether 
+            to merge XML documentation files
+            into one for the target assembly.
+            </summary>
+            <remarks>
+            <para>Corresponds to command line option "/xmldocs".</para>
+            <para>The default value is <c>false</c>.</para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.StandardOutputLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ILMerge.StandardErrorLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"/> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>
+            The <see cref="T:Microsoft.Build.Framework.MessageImportance"/> with which to log errors.
+            </returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Install.InstallAssembly">
+             <summary>
+             Installs assemblies.
+             </summary>
+            <remarks>
+             Uses InstallUtil.exe to execute the 
+             <see href="http://msdn2.microsoft.com/system.configuration.install.installer.install.aspx">Install</see>
+             method of
+             <see href="http://msdn2.microsoft.com/system.configuration.install.installer.aspx">Installer</see>
+             classes contained within specified assemblies.
+             </remarks>
+             <example>
+      Install multiple assemblies by specifying the file names:
+      <code>
+        <![CDATA[
+<InstallAssembly AssemblyFiles="Engine.dll;Presenter.dll" />
+]]>
+      </code>
+    </example><example>
+      Install an assembly using the assembly name. Also disable the log file by setting it to a single space:
+      <code>
+        <![CDATA[
+<InstallAssembly AssemblyNames="Engine,Version=1.5.0.0,Culture=neutral" LogFile=" "/>
+]]>
+      </code>
+    </example><example>
+      You can easily chain an install to the result of a build:
+      <code>
+        <![CDATA[
+<MSBuild Projects="Project1.csproj;Project2.csproj">
+ <Output TaskParameter="TargetOutputs" ItemName="ProjectBinaries" />
+</MSBuild>
+<InstallAssembly AssemblyFiles="@(ProjectBinaries)" />
+]]>
+      </code>
+    </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Install.InstallAssembly.GenerateFullPathToTool">
+            <summary>
+            Returns the fully qualified path to the executable file.
+            </summary>
+            <returns>
+            The fully qualified path to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Install.InstallAssembly.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments 
+            to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass 
+            directly to the executable file.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Install.InstallAssembly.AssemblyNames">
+            <summary>
+            The assemblies to process, identified by their assembly name.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Install.InstallAssembly.AssemblyFiles">
+            <summary>
+            The assemblies to process, identified by their filename.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Install.InstallAssembly.LogFile">
+            <summary>
+            The file to write installation progress to.
+            </summary>
+            <remarks>Set to a single space to disable logging to a file.
+            <para>
+            If not specified, the default is to log to [assemblyname].installLog
+            </para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Install.InstallAssembly.ShowCallStack">
+            <summary>
+             If an exception occurs at any point during installation, the call
+             stack will be printed to the log.
+             </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Install.InstallAssembly.IsUninstall">
+            <summary>
+            Determines whether assemblies are installed or uninstalled.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Install.InstallAssembly.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>The name of the executable file to run.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Install.UninstallAssembly">
+            <summary>Uninstalls assemblies.</summary>    
+            <remarks>
+            Uses InstallUtil.exe to execute the 
+            <see href="http://msdn2.microsoft.com/system.configuration.install.installer.uninstall.aspx">Uninstall</see>
+            method of
+            <see href="http://msdn2.microsoft.com/system.configuration.install.installer.aspx">Installer</see>
+            classes contained within specified assemblies.
+            </remarks>
+            <example>Uninstall multiple assemblies by specifying the file names:
+            <code><![CDATA[
+            <UninstallAssembly AssemblyFiles="Engine.dll;Presenter.dll" />
+            ]]></code>
+            </example>
+            <example>Unnstall an assembly using the assembly name. Also disable the log file by setting it to a single space:
+            <code><![CDATA[
+            <UninstallAssembly AssemblyNames="Engine,Version=1.5.0.0,Culture=neutral" LogFile=" "/>
+            ]]></code>
+            </example>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Install.UninstallAssembly.IsUninstall">
+            <summary>
+            Determines whether assemblies are installed or uninstalled.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Math.Modulo">
+            <summary>
+            Performs the modulo operation on numbers.
+            </summary>
+            <remarks>
+      The modulo operation finds the remainder of the division of one number by another.
+      <para>When the second number (modulus) is a fractional value, the result can be a fractional value.</para>
+      <para>
+        Equivalent to the % operator in C# or the Mod operator in Visual Basic.
+      </para>
+    </remarks><example>
+      Numbers evenly divide:
+      <code>
+        <![CDATA[
+<Math.Modulo Numbers="12;4">
+    <Output TaskParameter="Result" PropertyName="Result" />
+</Math.Modulo>
+<Message Text="12 modulo 4 = $(Result)"/>
+]]>
+      </code>
+      Above example will display:
+      <code>12 modulo 4 = 0</code>
+    </example><example>
+      Division on the numbers produces a remainder:
+      <code>
+        <![CDATA[
+<Math.Modulo Numbers="14;4">
+    <Output TaskParameter="Result" PropertyName="Result" />
+</Math.Modulo>
+<Message Text="14 modulo 4 = $(Result)"/>
+]]>
+      </code>
+      Above example will display:
+      <code>14 modulo 4 = 2</code>
+    </example><example>
+      Modulus is a fractional value:
+      <code>
+        <![CDATA[
+<Math.Modulo Numbers="12;3.5">
+    <Output TaskParameter="Result" PropertyName="Result" />
+</Math.Modulo>
+<Message Text="12 modulo 3.5 = $(Result)"/>
+]]>
+      </code>
+      Above example will display:
+      <code>12 modulo 3.5 = 1.5</code>
+    </example>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Math.MathBase">
+            <summary>
+            Math task base class
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Math.MathBase.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Math.MathBase.StringArrayToDecimalArray(System.String[])">
+            <summary>
+            Strings array to decimal array.
+            </summary>
+            <param name="numbers">The numbers.</param>
+            <returns></returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Math.MathBase.Numbers">
+            <summary>
+            Gets or sets the numbers to work with.
+            </summary>
+            <value>The numbers.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Math.MathBase.Result">
+            <summary>
+            Gets or sets the result.
+            </summary>
+            <value>The result.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Math.MathBase.NumericFormat">
+            <summary>
+            Gets or sets the numeric format.
+            </summary>
+            <value>The numeric format.</value>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Math.Modulo.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Prompt">
+            <summary>
+            Displays a message on the console and waits for user input.
+            </summary>
+            <remarks>It is important to note that the message is not written to the MSBuild logger, 
+            it is always written to the console, no matter which logger is configured.
+            <para>This task requires user input from the console. Do not use this task for projects
+            that will be executed unattended. It is recommended that you always add a Condtion so that
+            this task is only enabled when a custom property is set through the command line.
+            This will ensure that the other users do not attempt to execute the task in unattended mode.
+            </para></remarks>
+            <example>Pause the build if the interactive property is set:
+            <code><![CDATA[
+            <!-- Pause when invoked with the interactive property: msbuild myproject.proj /property:interactive=true -->
+            
+            <Prompt Text="You can now attach the debugger to the msbuild.exe process..." Condition="'$(Interactive)' == 'True'" />
+            ]]></code>
+            </example>
+            <example>Obtain user input during the build: 
+            (Note: in most cases, it is recommended that users instead provide custom values to your build through the /property argument of msbuild.exe)
+            <code><![CDATA[
+            <Prompt Text="Tell me your name:" Condition="'$(Interactive)' == 'True'" >
+              <Output TaskParameter="UserInput" PropertyName="PersonName" />
+            </Prompt>
+            <Message Text="Hello $(PersonName)" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Prompt.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Prompt.Text">
+            <summary>
+            The message to display in the console.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Prompt.UserInput">
+            <summary>
+            The text entered at the console.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.RegexBase">
+            <summary>
+            Base class for Regex tasks
+            Handles public properties for Input, Expression, Options and Output
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexBase.Expression">
+            <summary>
+            Regex expression
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexBase.Input">
+            <summary>
+            Input, list of items to perform the regex on
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexBase.Options">
+            <summary>
+            Regex options as strings corresponding to the RegexOptions enum:
+                Compiled
+                CultureInvariant
+                ECMAScript 
+                ExplicitCapture
+                IgnoreCase
+                IgnorePatternWhitespace
+                Multiline
+                None
+                RightToLeft
+                Singleline
+            </summary>
+            <enum cref="T:System.Text.RegularExpressions.RegexOptions"/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexBase.Output">
+            <summary>
+            Results of the Regex transformation.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexBase.ExpressionOptions">
+            <summary>
+            Options converted to RegexOptions enum
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.RegexMatch">
+            <summary>
+            Task to filter an Input list with a Regex expression.
+            Output list contains items from Input list that matched given expression
+            </summary>
+            <example>Matches from TestGroup those names ending in a, b or c
+            <code><![CDATA[
+            <ItemGroup>
+               <TestGroup Include="foo.my.foo.foo.test.o" />
+               <TestGroup Include="foo.my.faa.foo.test.a" />
+               <TestGroup Include="foo.my.fbb.foo.test.b" />
+               <TestGroup Include="foo.my.fcc.foo.test.c" />
+               <TestGroup Include="foo.my.fdd.foo.test.d" />
+               <TestGroup Include="foo.my.fee.foo.test.e" />
+               <TestGroup Include="foo.my.fff.foo.test.f" />
+            </ItemGroup>
+            <Target Name="Test">
+               <!-- Outputs only items that end with a, b or c -->
+               <RegexMatch Input="@(TestGroup)" Expression="[a-c]$">
+                  <Output ItemName ="MatchReturn" TaskParameter="Output" />
+               </RegexMatch>
+               <Message Text="&#xA;Output Match:&#xA;@(MatchReturn, '&#xA;')" />
+            </Target>
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.RegexMatch.Execute">
+            <summary>
+            Performs the Match task
+            </summary>
+            <returns><see langword="true"/> if the task ran successfully; 
+            otherwise <see langword="false"/>.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.RegexReplace">
+            <summary>
+            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.
+            </summary>
+            <example>
+            1st example replaces first occurance of "foo." with empty string
+            2nd example replaces occurance of "foo." after character 6 with "oop." string
+            <code><![CDATA[
+            <ItemGroup>
+               <TestGroup Include="foo.my.foo.foo.test.o" />
+               <TestGroup Include="foo.my.faa.foo.test.a" />
+               <TestGroup Include="foo.my.fbb.foo.test.b" />
+               <TestGroup Include="foo.my.fcc.foo.test.c" />
+               <TestGroup Include="foo.my.fdd.foo.test.d" />
+               <TestGroup Include="foo.my.fee.foo.test.e" />
+               <TestGroup Include="foo.my.fff.foo.test.f" />
+            </ItemGroup>
+            <Target Name="Test">
+               <Message Text="Input:&#xA;@(TestGroup, '&#xA;')"/>
+               <!-- Replaces first occurance of "foo." with empty string-->
+               <RegexReplace Input="@(TestGroup)" Expression="foo\." Replacement="" Count="1">
+                  <Output ItemName ="ReplaceReturn1" TaskParameter="Output" />
+               </RegexReplace>
+               <Message Text="&#xA;Output Replace 1:&#xA;@(ReplaceReturn1, '&#xA;')" />
+               <!-- Replaces occurance of "foo." after character 6 with "oop." string-->
+               <RegexReplace Input="@(TestGroup)" Expression="foo\." Replacement="oop" Startat="6">
+                  <Output ItemName ="ReplaceReturn2" TaskParameter="Output" />
+               </RegexReplace>
+               <Message Text="&#xA;Output Replace 2:&#xA;@(ReplaceReturn2, '&#xA;')" />
+            </Target>
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.RegexReplace.Execute">
+            <summary>
+            Performs the Replace task
+            </summary>
+            <returns><see langword="true"/> if the task ran successfully; 
+            otherwise <see langword="false"/>.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexReplace.Replacement">
+            <summary>
+            String replacing matching expression strings in input list.
+            If left empty matches in the input list are removed (replaced with empty string)
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexReplace.Count">
+            <summary>
+            Number of matches to allow on each input item.
+            -1 indicates to perform matches on all matches within input item
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegexReplace.StartAt">
+            <summary>
+            Position within the input item to start matching
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Schema.TaskListAssemblyFormatType">
+            <summary>
+            Different ways to specify the assembly in a UsingTask element.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Schema.TaskListAssemblyFormatType.AssemblyFileName">
+            <summary>
+            Assembly file name (Default): &lt;UsingTask AssemblyFile=&quot;foo.dll&quot; /&gt;
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Schema.TaskListAssemblyFormatType.AssemblyFileFullPath">
+            <summary>
+            Assembly location: &lt;UsingTask AssemblyName=&quot;foo&quot; /&gt;
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Schema.TaskListAssemblyFormatType.AssemblyName">
+            <summary>
+            Assembly Name: &lt;UsingTask AssemblyFile=&quot;bin\debug\foo.dll&quot; /&gt;
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Schema.TaskListAssemblyFormatType.AssemblyFullName">
+            <summary>
+            Assembly fully qualified name: &lt;UsingTask AssemblyName=&quot;foo.dll,version ....&quot; /&gt;
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Schema.TaskSchema">
+            <summary>
+            A Task that generates a XSD schema of the tasks in an assembly.
+            </summary>
+            <example>
+            <para>Creates schema for MSBuild Community Task project</para>
+            <code><![CDATA[
+            <TaskSchema Assemblies="Build\MSBuild.Community.Tasks.dll" 
+                OutputPath="Build" 
+                CreateTaskList="true" 
+                IgnoreMsBuildSchema="true"
+                Includes="Microsoft.Build.Commontypes.xsd"/>
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Schema.TaskSchema.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Schema.TaskSchema.Assemblies">
+            <summary>
+            Gets or sets the list of <see cref="T:System.Reflection.Assembly"/> path to analyse.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Schema.TaskSchema.OutputPath">
+            <summary>
+            Gets or sets the output path for the generated files.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Schema.TaskSchema.Schemas">
+            <summary>
+            Gets the list of path to the generated XSD schema.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Schema.TaskSchema.CreateTaskList">
+            <summary>
+            Gets or sets a value indicating if the task list (using UsingTask)
+            has to be genereted.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Schema.TaskSchema.TaskListAssemblyFormat">
+            <summary>
+            Gets or sets a value indicating how the assembly is specified in the
+            UsingTask element.
+            </summary>
+            <enum cref="T:MSBuild.Community.Tasks.Schema.TaskListAssemblyFormatType"/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Schema.TaskSchema.IgnoreDocumentation">
+            <summary>
+            Gets or sets a value indicating wheter documentation should be ignored
+            even if available (Default is false).
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Schema.TaskSchema.TaskLists">
+            <summary>
+            Gets the path to the task list if it was generated.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Schema.TaskSchema.IgnoreMsBuildSchema">
+            <summary>
+            Gets or sets a value indicating if the 
+            MsBuild schema inclusing should be ignored
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Schema.TaskSchema.Includes">
+            <summary>
+            Gets or sets a list of included schemas
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.GetSolutionProjects">
+            <summary>
+            Retrieves the list of Projects contained within a Visual Studio Solution (.sln) file 
+            </summary>
+            <example>
+            Returns project name, GUID, and path information from test solution
+            <code><![CDATA[
+              <Target Name="Test">
+                  <GetSolutionProjects Solution="TestSolution.sln">
+                      <Output ItemName="ProjectFiles" TaskParameter="Output"/>
+                  </GetSolutionProjects>
+            
+                <Message Text="Project names:" />
+                <Message Text="%(ProjectFiles.ProjectName)" />
+                <Message Text="Relative project paths:" />
+                <Message Text="%(ProjectFiles.ProjectPath)" />
+                <Message Text="Project GUIDs:" />
+                <Message Text="%(ProjectFiles.ProjectGUID)" />
+                <Message Text="Full paths to project files:" />
+                <Message Text="%(ProjectFiles.FullPath)" />
+              </Target>
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.GetSolutionProjects.Execute">
+            <summary>
+            Perform task
+            </summary>
+            <returns>true on success</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.GetSolutionProjects.Output">
+            <summary>
+            A list of the project files found in <see cref="P:MSBuild.Community.Tasks.GetSolutionProjects.Solution"/>
+            </summary>
+            <remarks>
+            The name of the project can be retrieved by reading metadata tag <c>ProjectName</c>.
+            <para>
+            The path to the project as it is is stored in the solution file retrieved by reading metadata tag <c>ProjectPath</c>.
+            </para>
+            <para>
+            The project's GUID can be retrieved by reading metadata tag <c>ProjectGUID</c>.
+            </para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.GetSolutionProjects.Solution">
+            <summary>
+            Name of Solution to get Projects from
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.SqlServer.ExecuteDDL">
+             <summary>
+             MSBuild task to execute DDL and SQL statements.
+             </summary>
+             <remarks>Requires the the SQL Server libraries and dynamically loads the 
+             required Microsoft.SqlServer.ConnectionInfo assembly.</remarks>
+             <example>
+             <code><![CDATA[
+             <PropertyGroup>
+            		<ConnectionString>Server=localhost;Integrated Security=True</ConnectionString>
+            	</PropertyGroup>
+            
+             <Target Name="ExecuteDDL">
+            		<ExecuteDDL ConnectionString="$(ConnectionString)" Files="SqlBatchScript.sql" ContinueOnError="false" />
+             </Target>
+             ]]></code>
+             </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SqlServer.ExecuteDDL.Execute">
+            <summary>
+            Executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.ExecuteDDL.ConnectionString">
+            <summary>
+            The connection string
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.ExecuteDDL.Files">
+            <summary>
+            Gets or sets the DDL/SQL files.
+            </summary>
+            <value>The assemblies.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.ExecuteDDL.Results">
+            <summary>
+            Output the return count/values
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.ExecuteDDL.StatementTimeout">
+            <summary>
+            Timeout to execute a DDL statement.
+            </summary>
+            <remarks>Defaults to 30 seconds. Set to 0 for an infinite timeout period.</remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlServer.ExecuteDDL.BatchSeparator">
+            <summary>
+            Gets or sets the batch delimter string.
+            </summary>
+            <remarks>Default is "GO" for T-SQL.</remarks>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Subversion.NodeKind">
+            <summary>
+            The kind of Subversion node. The names match the text output
+            by "svn info".
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Subversion.NodeKind.file">
+            <summary>
+            Node is a file
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Subversion.NodeKind.dir">
+            <summary>
+            Node is a directory
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Subversion.NodeKind.unknown">
+            <summary>
+            Unknown node type
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Subversion.Schedule">
+            <summary>
+            The Subversion schedule type.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Subversion.Schedule.normal">
+            <summary>
+            Normal schedule
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Subversion.Schedule.unknown">
+            <summary>
+            Unknown schedule.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Subversion.SvnInfo">
+            <summary>
+            Run the "svn info" command and parse the output
+            </summary>
+            <example>
+            This example will determine the Subversion repository root for
+            a working directory and print it out.
+            <code><![CDATA[
+            <Target Name="printinfo">
+              <SvnInfo LocalPath="c:\code\myapp">
+                <Output TaskParameter="RepositoryRoot" PropertyName="root" />
+              </SvnInfo>
+              <Message Text="root: $(root)" />
+            </Target>
+            ]]></code>
+            </example>
+            <remarks>You can retrieve Subversion information for a <see cref="P:MSBuild.Community.Tasks.Subversion.SvnClient.LocalPath"/> or <see cref="P:MSBuild.Community.Tasks.Subversion.SvnClient.RepositoryPath"/>.
+            If you do not provide a value for <see cref="P:MSBuild.Community.Tasks.Subversion.SvnClient.LocalPath"/> or <see cref="P:MSBuild.Community.Tasks.Subversion.SvnClient.RepositoryPath"/>, the current directory is assumed.</remarks>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnInfo.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:SvnInfo"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnInfo.ResetMemberVariables">
+            <summary>
+            Reset all instance variables to their default (unset) state.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnInfo.Execute">
+            <summary>
+            Execute the task.
+            </summary>
+            <returns>true if execution is successful, false if not.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnInfo.RepositoryRoot">
+            <summary>
+            Return the repository root or null if not set by Subversion.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnInfo.RepositoryUuid">
+            <summary>
+            Return the repository UUID value from Subversion.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnInfo.NodeKind">
+            <summary>
+            The Subversion node kind.
+            </summary>
+            <enum cref="T:MSBuild.Community.Tasks.Subversion.NodeKind"/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnInfo.LastChangedAuthor">
+            <summary>
+            The author who last changed this node.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnInfo.LastChangedRevision">
+            <summary>
+            The last changed revision number.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnInfo.LastChangedDate">
+            <summary>
+            The date this node was last changed.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnInfo.Schedule">
+            <summary>
+            The Subversion schedule type.
+            </summary>
+            <enum cref="T:MSBuild.Community.Tasks.Subversion.Schedule"/>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.TemplateFile">
+            <summary>
+            MSBuild task that replaces tokens in a template file and writes out a new file.
+            </summary>
+            <example>
+            <code><![CDATA[
+            <ItemGroup>
+            	<Tokens Include="Name">
+            		<ReplacementValue>MSBuild Community Tasks</ReplacementValue>
+            	</Tokens>
+            </ItemGroup>
+            
+            <TemplateFile TemplateFile="ATemplateFile.template" OutputFile="ReplacedFile.txt" Tokens="@(Tokens)" />
+            ]]></code>
+            </example>
+            <remarks>Tokens in the template file are formatted using ${var} syntax and names are not 
+            case-sensitive, so ${Token} and ${TOKEN} are equivalent.</remarks>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.TemplateFile.MetadataValueTag">
+            <summary>
+            Meta data tag used for token replacement
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.TemplateFile.#ctor">
+            <summary>
+            Default constructor. Creates a new TemplateFile task.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.TemplateFile.Execute">
+            <summary>
+            Executes the task.
+            </summary>
+            <returns>Success or failure of the task.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.TemplateFile.OutputFile">
+            <summary>
+            The token replaced template file.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.TemplateFile.OutputFilename">
+            <summary>
+            The full path to the output file name.  If no filename is specified (the default) the
+            output file will be the Template filename with a .out extension.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.TemplateFile.Template">
+            <summary>
+            The template file used.  Tokens with values of ${Name} are replaced by name.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.TemplateFile.Tokens">
+            <summary>
+            List of tokens to replace in the template.  Token name is taken from the TaskItem.ItemSpec and the
+            replacement value comes from the ReplacementValue metadata of the item.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Time">
+            <summary>
+            Gets the current date and time.
+            </summary>
+            <remarks>
+            See
+            <a href="ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.en/cpref8/html/T_System_Globalization_DateTimeFormatInfo.htm">
+            DateTimeFormatInfo</a>
+            for the syntax of the format string.
+            </remarks>
+            <example>Using the Time task to get the Month, Day,
+            Year, Hour, Minute, and Second:
+            <code><![CDATA[
+            <Time>
+              <Output TaskParameter="Month" PropertyName="Month" />
+              <Output TaskParameter="Day" PropertyName="Day" />
+              <Output TaskParameter="Year" PropertyName="Year" />
+              <Output TaskParameter="Hour" PropertyName="Hour" />
+              <Output TaskParameter="Minute" PropertyName="Minute" />
+              <Output TaskParameter="Second" PropertyName="Second" />
+            </Time>
+            <Message Text="Current Date and Time: $(Month)/$(Day)/$(Year) $(Hour):$(Minute):$(Second)" />]]></code>
+            Set property "BuildDate" to the current date and time:
+            <code><![CDATA[
+            <Time Format="yyyyMMddHHmmss">
+                <Output TaskParameter="FormattedTime" PropertyName="buildDate" />
+            </Time>]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Time.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            True if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Time.Format">
+            <summary>
+            Gets or sets the format string
+            for output parameter <see cref="P:MSBuild.Community.Tasks.Time.FormattedTime"/>.
+            </summary>
+            <remarks>
+            See
+            <a href="ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.en/cpref8/html/T_System_Globalization_DateTimeFormatInfo.htm">
+            DateTimeFormatInfo</a>
+            for the syntax of the format string.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Time.Month">
+            <summary>
+            Gets the month component of the date represented by this instance.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Time.Day">
+            <summary>
+            Gets the day of the month represented by this instance.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Time.Year">
+            <summary>
+            Gets the year component of the date represented by this instance.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Time.Hour">
+            <summary>
+            Gets the hour component of the date represented by this instance.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Time.Minute">
+            <summary>
+            Gets the minute component of the date represented by this instance.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Time.Second">
+            <summary>
+            Gets the seconds component of the date represented by this instance.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Time.Millisecond">
+            <summary>
+            Gets the milliseconds component of the date represented by this instance.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Time.Ticks">
+            <summary>
+            Gets the number of ticks that represent the date and time of this instance.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Time.Kind">
+            <summary>
+            Gets or sets a value that indicates whether the time represented by this instance is based
+            on local time, Coordinated Universal Time (UTC), or neither.
+            </summary>
+            <remarks>
+            Possible values are:
+            <list type="ul">
+            <item>Local (default)</item>,
+            <item>Utc</item>,
+            <item>Unspecified</item>
+            </list>
+            </remarks>
+            <enum cref="T:System.DateTimeKind"/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Time.TimeOfDay">
+            <summary>
+            Gets the time of day for this instance.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Time.DayOfYear">
+            <summary>
+            Gets the day of the year represented by this instance.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Time.DayOfWeek">
+            <summary>
+            Gets the day of the week represented by this instance.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Time.FormattedTime">
+            <summary>
+            Gets the value of this instance to its equivalent string representation.
+            If input parameter <see cref="P:MSBuild.Community.Tasks.Time.Format"/> is provided,
+            the value is formatted according to it.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Time.ShortDate">
+            <summary>
+            Gets the value of this instance to its equivalent short date string representation.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Time.LongDate">
+            <summary>
+            Gets the value of this instance to its equivalent long date string representation.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Time.ShortTime">
+            <summary>
+            Gets the value of this instance to its equivalent short time string representation.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Time.LongTime">
+            <summary>
+            Gets the value of this instance to its equivalent long time string representation.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Time.DateTimeValue">
+            <summary>
+            Gets the internal time value.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem">
+            <summary>
+            Represents a single XmlNode selected using an XML task.
+            </summary>
+            <exclude />
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.#ctor(System.Xml.XPath.XPathNavigator,System.String)">
+            <summary>
+            Initializes a new instance of an XmlNodeTaskItem
+            </summary>
+            <param name="xpathNavigator">The selected XmlNode</param>
+            <param name="reservedMetaDataPrefix">The prefix to attach to the reserved metadata properties.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.ToString">
+            <summary>
+            Returns a string representation of the XmlNodeTaskItem.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.op_Explicit(MSBuild.Community.Tasks.Xml.XmlNodeTaskItem)~System.String">
+            <summary>
+            Returns the ItemSpec when the XmlNodeTaskItem is explicitly cast as a <see cref="T:System.String"/>
+            </summary>
+            <param name="taskItemToCast">The XmlNodeTaskItem</param>
+            <returns></returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.CloneCustomMetadata">
+            <summary>
+            
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.CopyMetadataTo(Microsoft.Build.Framework.ITaskItem)">
+            <summary>
+            
+            </summary>
+            <param name="destinationItem"></param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.GetMetadata(System.String)">
+            <summary>
+            
+            </summary>
+            <param name="metadataName"></param>
+            <returns></returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.RemoveMetadata(System.String)">
+            <summary>
+            
+            </summary>
+            <param name="metadataName"></param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.SetMetadata(System.String,System.String)">
+            <summary>
+            
+            </summary>
+            <param name="metadataName"></param>
+            <param name="metadataValue"></param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.ItemSpec">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.MetadataCount">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xml.XmlNodeTaskItem.MetadataNames">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Xml.XmlQuery">
+            <summary>
+            Reads a value or values from lines of XML
+            </summary>
+            <remarks>
+      Use the Lines property (possibly populated from the the ReadLinesFromFile task) if you want to perform multiple
+      queries against some XML in memory. Use the XmlFileName property to query a large XML file.
+      <para>
+        An XPath expression can return multiple nodes in the <see cref="P:MSBuild.Community.Tasks.Xml.XmlQuery.Values"/> collection.
+        The number of nodes returned is availabe in the <see cref="P:MSBuild.Community.Tasks.Xml.XmlQuery.ValuesCount"/> output TaskParameter.
+      </para>
+      <para>
+        When the XPath expression resolves to an element node, all of the
+        attributes of the element are added as metadata to the returned <see cref="T:Microsoft.Build.Framework.ITaskItem"/>.
+        In addition, some reserved metadata properties are available on all element nodes.
+        They are all prefixed with the <see cref="P:MSBuild.Community.Tasks.Xml.XmlQuery.ReservedMetaDataPrefix"/>,
+        which is a single underscore (_) by default.
+        <list type="table">
+          <listheader>
+            <term>Reserved Property</term>
+          </listheader>
+          <item>
+            <term>_value</term>
+            <description>The value of the node (non-xml text between the opening and closing tags).</description>
+          </item>
+          <item>
+            <term>_innerXml</term>
+            <description>The markup representing the children of this node.</description>
+          </item>
+          <item>
+            <term>_outerXml</term>
+            <description>The markup representing this node and all its child nodes.</description>
+          </item>
+        </list>
+      </para>
+    </remarks><example>
+      Read an attribute value by selecting it with an XPath expression:
+      <code>
+        <![CDATA[
+<ReadLinesFromFile File="web.config">
+    <Output TaskParameter="Lines" ItemName="FileContents" />
+</ReadLinesFromFile>
+
+<XmlQuery Lines="@(FileContents)"
+    XPath = "/configuration/system.web/compilation/@defaultLanguage">
+  <Output TaskParameter="Values" PropertyName="CompilationLanguage" />
+</XmlQuery>
+
+<Message Text="The default language is $(CompilationLanguage)." />
+]]>
+      </code>
+    </example><example>
+      Read attribute values (from an XML file) using item metadata on a selected element node:
+      <code>
+        <![CDATA[
+<XmlQuery XmlFileName="$(MSBuildProjectDirectory)\web.config"
+    XPath = "/configuration/system.web/compilation">
+  <Output TaskParameter="Values" ItemName="CompilationElement" />
+</XmlQuery>
+
+<Message Text="The default language is: $(CompilationElement.defaultLanguage)." />
+<Message Text="Debug is enabled: $(CompilationElement.debug)." />
+]]>
+      </code>
+    </example><example>
+      Read an element value (requires use of the reserved metadata property "_value"):
+      <code>
+        <![CDATA[
+<ReadLinesFromFile File="web.config">
+    <Output TaskParameter="Lines" ItemName="FileContents" />
+</ReadLinesFromFile>
+
+<XmlQuery Lines="@(FileContents)"
+    XPath = "/configuration/singleValue/LastName">
+  <Output TaskParameter="Values" PropertyName="LastNameElement" />
+</XmlQuery>
+
+<Message Text="The last name is %(LastNameElement._value)" />
+]]>
+      </code>
+    </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Xml.XmlQuery.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            True if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xml.XmlQuery.Lines">
+            <summary>
+            The lines of a valid XML document
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xml.XmlQuery.XmlFileName">
+            <summary>
+            Gets or sets the name of an XML file to query
+            </summary>
+            <value>The full path of the XML file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xml.XmlQuery.NamespaceDefinitions">
+            <summary>
+            A collection of prefix=namespace definitions used to query the XML document
+            </summary>
+            <example>
+      Defining multiple namespaces:
+      <code>
+        <![CDATA[
+<XmlMassUpdate ContentFile="web.config"
+  SubstitutionsRoot="/configuration/substitutions"
+  NamespaceDefinitions = "soap=http://www.w3.org/2001/12/soap-envelope;x=http://www.w3.org/1999/XSL/Transform">
+/>]]>
+      </code>
+    </example>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xml.XmlQuery.XPath">
+            <summary>
+            The query used to identify the values in the XML document
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xml.XmlQuery.Values">
+            <summary>
+            The values selected by <see cref="P:MSBuild.Community.Tasks.Xml.XmlQuery.XPath"/>
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xml.XmlQuery.ValuesCount">
+            <summary>
+            The number of values returned in <see cref="P:MSBuild.Community.Tasks.Xml.XmlQuery.Values"/>
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xml.XmlQuery.ReservedMetaDataPrefix">
+            <summary>
+            The string that is prepended to all reserved metadata properties.
+            </summary>
+            <remarks>The default value is a single underscore: '_'
+            <para>All attributes of an element node are added as metadata to the returned ITaskItem,
+            so this property can be used to avoid clashes with the reserved properties.
+            For example, if you selected the following node:
+            <code><![CDATA[ <SomeNode _name="x" _value="y" /> ]]></code>
+            the <c>_value</c> attribute would clash with the <c>value</c> reserved property, when using
+            the default prefix. If you set the ReservedMetaDataPrefix to another value (two underscores '__')
+            there would be no clash. You would be able to select the attribute using <c>%(item._value)</c>
+            and the value of the node using <c>%(item.__value)</c>.</para></remarks>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Xml.XmlTaskHelper">
+            <summary>
+            Provides methods used by all of the XML tasks
+            </summary>
+            <exclude />
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Xml.XmlTaskHelper.JoinItems(Microsoft.Build.Framework.ITaskItem[])">
+            <summary>
+            Concatenates the string value of a list of ITaskItems into a single string
+            </summary>
+            <param name="items">The items to concatenate</param>
+            <returns>A single string containing the values from all of the items</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Xml.XmlTaskHelper.LoadNamespaceDefinitionItems(System.Xml.XmlNamespaceManager,Microsoft.Build.Framework.ITaskItem[])">
+            <summary>
+            Uses the prefix=namespace definitions in <paramref name="definitions"/> to populate <paramref name="namespaceManager"/>
+            </summary>
+            <param name="namespaceManager">The <see cref="T:System.Xml.XmlNamespaceManager"/> to populate.</param>
+            <param name="definitions">The prefix=namespace definitions.</param>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Xslt">
+            <summary>
+            A task to merge and transform a set of xml files.
+            </summary>
+            <remarks>
+      <p>
+        The xml files of parameter <see cref="P:MSBuild.Community.Tasks.Xslt.Inputs"/>
+        are merged into one xml document,
+        wrapped with a root tag <see cref="P:MSBuild.Community.Tasks.Xslt.RootTag"/>
+      </p>
+      <p>
+        If only one input file is provided,
+        merging and wrapping can be omitted
+        by setting <see cref="P:MSBuild.Community.Tasks.Xslt.RootTag"/> to an empty string.
+      </p>
+      <p>
+        The root tag can be given any number of attributes
+        by providing a list of semicolon-delimited name/value pairs
+        to parameter <see cref="P:MSBuild.Community.Tasks.Xslt.RootAttributes"/>.
+        For example: <code>RootAttributes="foo=bar;date=$(buildDate)"</code>
+      </p>
+      <p>
+        Parameter <see cref="P:MSBuild.Community.Tasks.Xslt.RootAttributes"/> defaults to
+        one attribute with a name specified by <see cref="F:MSBuild.Community.Tasks.Xslt.CreatedAttributeName"/>,
+        and a local time stamp as value.
+        To suppress the default value, an empty parameter
+        <code>RootAttributes=""</code>
+        must be specified explicitely.
+      </p>
+      <p>
+        The xsl transformation file
+        specified by parameter <see cref="P:MSBuild.Community.Tasks.Xslt.Xsl"/>
+        is applied on the input.
+      </p>
+      <p>
+        The <see cref="T:Microsoft.Build.Framework.ITaskItem"/> <see cref="P:MSBuild.Community.Tasks.Xslt.Xsl"/>
+        can be given any number of metadata,
+        which will be handed to the xsl transformation
+        as parameters.
+      </p>
+      <p>
+        If only one input file is given with <see cref="T:Microsoft.Build.Framework.ITaskItem"/> <see cref="P:MSBuild.Community.Tasks.Xslt.Inputs"/>,
+        metadata will also be handed to the xsl transformation.
+        However, the <see cref="P:MSBuild.Community.Tasks.Xslt.Xsl"/> metadata is preferred in case of equal names.
+        To overcome this limitation, for each input item metadatum, an additional parameter
+        prefixed with <see cref="F:MSBuild.Community.Tasks.Xslt.InputMetadataArgumentPrefix"/> is created.
+      </p>
+      <p>
+        The output is written to the file
+        specified by parameter <see cref="P:MSBuild.Community.Tasks.Xslt.Output"/>.
+      </p>
+    </remarks><example>
+      This example for generating a report
+      from a set of NUnit xml results:
+      <code>
+        <![CDATA[
+<ItemGroup>
+    <nunitReportXslFile Include="$(MSBuildCommunityTasksPath)\$(nunitReportXsl)">
+        <project>$(project)</project>
+        <configuration>$(configuration)</configuration>
+        <msbuildFilename>$(MSBuildProjectFullPath)</msbuildFilename>
+        <msbuildBinpath>$(MSBuildBinPath)</msbuildBinpath>
+        <xslFile>$(MSBuildCommunityTasksPath)\$(nunitReportXsl)</xslFile>
+    </nunitReportXslFile>
+</ItemGroup>
+
+<Target Name="test-report" >
+    <Xslt Inputs="@(nunitFiles)"
+        RootTag="mergedroot"
+        Xsl="@(nunitReportXslFile)" 
+        Output="$(testDir)\TestReport.html" />
+</Target>]]>
+      </code>
+
+      This examples shows all available task attributes:
+      <code>
+        <![CDATA[
+<Time Format="yyyyMMddHHmmss">
+    <Output TaskParameter="LocalTimestamp" PropertyName="buildDate" />
+</Time>
+
+<Xslt
+     Inputs="@(xmlfiles)"
+     RootTag="mergedroot"
+     RootAttributes="foo=bar;date=$(buildDate)"
+     Xsl="transformation.xsl"
+     Output="report.html"
+/>]]>
+      </code>
+    </example>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Xslt.CreatedAttributeName">
+            <summary>
+            The name of the default attribute
+            of the <see cref="P:MSBuild.Community.Tasks.Xslt.RootTag"/>.
+            The value is <c>"created"</c>,
+            and the attribute will contain a local time stamp.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.Xslt.InputMetadataArgumentPrefix">
+            <summary>
+            The prefix of XSLT parameters created from single XML input metadata.
+            <para>The value is <c>"input_"</c>.</para>
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Xslt.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            Returns <c>true</c> if the task successfully executed; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Xslt.AddParameter(System.String,System.String,System.Xml.Xsl.XsltArgumentList)">
+            <summary>
+            Adds a new xsl parameter with to the specified argument list.
+            </summary>
+            <param name="name">The name of the parameter.</param>
+            <param name="value">The value of the parameter.</param>
+            <param name="parameters">The parameter list.</param>
+            <returns>Whether the parameter was added.</returns>
+            <remarks>Does not add the parameter
+            when a parameter with the same name is already part of the <paramref name="parameters"/>.</remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xslt.Inputs">
+            <summary>
+            Gets or sets the xml input files.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xslt.RootTag">
+            <summary>
+            Gets or sets the xml tag name
+            of the root tag wrapped
+            around the merged xml input files.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xslt.RootAttributes">
+            <summary>
+            Gets or sets the list of
+            semicolon-delimited name/value pairs
+            of the <see cref="P:MSBuild.Community.Tasks.Xslt.RootTag"/>.
+            For example: <code>RootAttributes="foo=bar;date=$(buildDate)"</code>
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xslt.UseTrusted">
+            <summary>
+            Enables a Trusted XSLT processor. Sepcifically enables scripts 
+            in the xsl transformation file
+            For example: <code>UseTrusted="true"</code>
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xslt.Xsl">
+            <summary>
+            Gets or sets the path of the
+            xsl transformation file to apply.
+            </summary>
+            <remarks>
+            The property can be given any number of metadata,
+            which will be handed to the xsl transformation
+            as parameters.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Xslt.Output">
+            <summary>
+            Gets or sets the path of the output file.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.FileUpdate">
+            <summary>
+            Replace text in file(s) using a Regular Expression.
+            </summary>
+            <example>Search for a version number and update the revision.
+            <code><![CDATA[
+            <FileUpdate Files="version.txt"
+                Regex="(\d+)\.(\d+)\.(\d+)\.(\d+)"
+                ReplacementText="$1.$2.$3.123" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.FileUpdate.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:FileUpdate"/> class.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.FileUpdate._useDefaultEncoding">
+            Maintain the behaviour of the original implementation for compatibility
+            (i.e. initialize _useDefaultEncoding with false) and use utf-8-without-bom,  
+            which is Microsoft's default encoding, only when Encoding property is set 
+            to "utf-8-without-bom". 
+        </member>
+        <member name="M:MSBuild.Community.Tasks.FileUpdate.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FileUpdate.Files">
+            <summary>
+            Gets or sets the files to update.
+            </summary>
+            <value>The files.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FileUpdate.Regex">
+            <summary>
+            Gets or sets the regex.
+            </summary>
+            <value>The regex.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FileUpdate.IgnoreCase">
+            <summary>
+            Gets or sets a value specifies case-insensitive matching. .
+            </summary>
+            <value><c>true</c> if [ignore case]; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FileUpdate.Multiline">
+            <summary>
+            Gets or sets a value changing the meaning of ^ and $ so they match at the beginning and end, 
+            respectively, of any line, and not just the beginning and end of the entire string.
+            </summary>
+            <value><c>true</c> if multiline; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FileUpdate.Singleline">
+            <summary>
+            Gets or sets a value changing the meaning of the dot (.) so it matches 
+            every character (instead of every character except \n). 
+            </summary>
+            <value><c>true</c> if singleline; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FileUpdate.ReplacementCount">
+            <summary>
+            Gets or sets the maximum number of times the replacement can occur.
+            </summary>
+            <value>The replacement count.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FileUpdate.ReplacementTextEmpty">
+            <summary>
+            Gets or sets if replacement text is empty.
+            </summary>
+            <value><c>true</c> if [ignore case]; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FileUpdate.ReplacementText">
+            <summary>
+            Gets or sets the replacement text.
+            </summary>
+            <value>The replacement text.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FileUpdate.Encoding">
+            <summary>
+            The character encoding used to read and write the file.
+            </summary>
+            <remarks>Any value returned by <see cref="P:System.Text.Encoding.WebName"/> is valid input.
+            <para>The default is <c>utf-8</c></para>
+            <para>Additionally, <c>utf-8-without-bom</c>can be used.</para></remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FileUpdate.WarnOnNoUpdate">
+            <summary>
+            When TRUE, a warning will be generated to show which file was not updated.
+            </summary>
+            <remarks>N/A</remarks>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.FxCop">
+            <summary>
+            Uses FxCop to analyse managed code assemblies and reports on
+            their design best-practice compliance.
+            </summary>
+            <example>
+            <para>Shows how to analyse an assembly and use an XSLT stylesheet 
+            to present the report as an HTML file. If the static anlysis fails,
+            the build does not stop - this is controlled with the <c>FailOnError</c>
+            parameter.</para>
+            <code><![CDATA[
+            <FxCop 
+              TargetAssemblies="$(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.dll"
+              RuleLibraries="@(FxCopRuleAssemblies)" 
+              Rules="Microsoft.Design#CA1012;-Microsoft.Performance#CA1805"
+              AnalysisReportFileName="Test.html"
+              DependencyDirectories="$(MSBuildCommunityTasksPath)"
+              FailOnError="False"
+              ApplyOutXsl="True"
+              OutputXslFileName="C:\Program Files\Microsoft FxCop 1.32\Xml\FxCopReport.xsl"
+            />
+            ]]></code>
+            </example>
+            <remarks>If you include the <c>MSBuild.Community.Tasks.Targets</c> file 
+            in you build project, the ItemGroup <c>@(FxCopRuleAssemblies)</c> is defined
+            with the standard FxCop Rules Assemblies.</remarks>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.FxCop.Execute">
+            <summary>
+            Executes the task.
+            </summary>
+            <returns><see langword="true"/> if the task ran successfully; 
+            otherwise <see langword="false"/>.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.FxCop.GenerateFullPathToTool">
+            <summary>
+            Returns the fully qualified path to the executable file.
+            </summary>
+            <returns>
+            The fully qualified path to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.FxCop.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments 
+            to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass 
+            directly to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.FxCop.ValidateParameters">
+            <summary>
+            Indicates whether all task paratmeters are valid. 
+            </summary>
+            <returns>true if all task parameters are valid; otherwise, false</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.FxCop.GetWorkingDirectory">
+            <summary>
+            Returns the directory in which to run the executable file.
+            </summary>
+            <returns>
+            The directory in which to run the executable file, 
+            or a null reference (Nothing in Visual Basic) if the executable file 
+            should be run in the current directory.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FxCop.SearchGac">
+            <summary>
+            Tells FxCop to search the GAC for assembly references. This parameter was added in FxCop 1.35
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FxCop.ApplyOutXsl">
+            <summary>
+            Applies the XSL transformation specified in /outXsl to the 
+            analysis report before saving the file.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FxCop.DirectOutputToConsole">
+            <summary>
+            Directs analysis output to the console or to the 
+            Output window in Visual Studio .NET. By default, 
+            the XSL file FxCopConsoleOutput.xsl is applied to the 
+            output before it is displayed.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FxCop.DependencyDirectories">
+            <summary>
+            Specifies additional directories to search for assembly dependencies. 
+            FxCopCmd always searches the target assembly directory and the current 
+            working directory.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FxCop.TargetAssemblies">
+            <summary>
+            Specifies the target assembly to analyze.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FxCop.ConsoleXslFileName">
+            <summary>
+            Specifies the XSL or XSLT file that contains a transformation to 
+            be applied to the analysis output before it is displayed in the console.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FxCop.ImportFiles">
+            <summary>
+            Specifies the name of an analysis report or project file to import. 
+            Any messages in the imported file that are marked as excluded are not 
+            included in the analysis results.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FxCop.CustomDictionary">
+            <summary>
+            Specifies the custom dictionary.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FxCop.RuleLibraries">
+            <summary>
+            Specifies the filename(s) of FxCop rule assemblies
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FxCop.Rules">
+            <summary>
+            The list of rules to run
+            </summary>
+            <remarks>Rule names should be provided using the format Library#RuleNumber. For example <c>Microsoft.Design#CA1012</c>
+            <para>Place a single hyphen (-) in front of the rule name to exclude it. For example <c>-Microsoft.Performance#CA1805</c></para>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FxCop.AnalysisReportFileName">
+            <summary>
+            Specifies the file name for the analysis report.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FxCop.OutputXslFileName">
+            <summary>
+            Specifies the XSL or XSLT file that is referenced by the 
+            xml-stylesheet processing instruction in the analysis report.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FxCop.PlatformDirectory">
+            <summary>
+            Specifies the location of the version of Mscorlib.dll 
+            that was used when building the target assemblies if this 
+            version is not installed on the computer running FxCopCmd.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FxCop.ProjectFile">
+            <summary>
+            Specifies the filename of FxCop project file.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FxCop.IncludeSummaryReport">
+            <summary>
+            Includes a summary report with the informational 
+            messages returned by FxCopCmd.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FxCop.TypeList">
+            <summary>
+            Comma-separated list of type names to analyze.  This option disables 
+            analysis of assemblies, namespaces, and resources; only the specified 
+            types and their members are included in the analysis.  
+            Use the wildcard character '*' at the end of the name to select multiple types.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FxCop.SaveResults">
+            <summary>
+            Saves the results of the analysis in the project file.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FxCop.WorkingDirectory">
+            <summary>
+            Gets or sets the working directory.
+            </summary>
+            <value>The working directory.</value>
+            <returns>
+            The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FxCop.Verbose">
+            <summary>
+            Gets or sets a value indicating whether the output is verbose.
+            </summary>
+            <value><c>true</c> if verbose; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FxCop.FailOnError">
+            <summary>
+            Gets or sets a value indicating whether the build should
+            fail if static code analysis reports errors. Defaults to 
+            <c>true</c>.
+            </summary>
+            <value><c>true</c> if verbose; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.FxCop.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>The name of the executable file to run.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.ServiceActions">
+            <summary>
+            Defines the actions that can be performed on a service.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.ServiceActions.Start">
+            <summary>
+            Starts a service.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.ServiceActions.Stop">
+            <summary>
+            Stops a service.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.ServiceActions.Restart">
+            <summary>
+            Restarts a service.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.ServiceActions.Pause">
+            <summary>
+            Pauses a running service.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.ServiceActions.Continue">
+            <summary>
+            Continues a paused service.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.ServiceController">
+            <summary>
+            Task that can control a Windows service.
+            </summary>
+            <example>
+            <para>Restart Web Server</para>
+            <code><![CDATA[
+            <ServiceController ServiceName="w3svc" Action="Restart" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.ServiceQuery">
+            <summary>
+            Task that can determine the status of a specified service
+            on a target server.
+            </summary>
+            <example>
+            <para>Check status of SQL Server</para>
+            <code><![CDATA[
+            <ServiceQuery ServiceName="MSSQLServer">
+                <Output TaskParameter="Status" PropertyName="ResultStatus" />
+            </ServiceQuery>
+            <Message Text="MSSQLServer Service Status: $(ResultStatus)"/>
+            ]]></code>
+            </example>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.ServiceQuery.UNKNOWN_STATUS">
+            <summary>
+            The unknown <see cref="P:MSBuild.Community.Tasks.ServiceQuery.Status"/>
+            returned when the service does not exist.
+            The value is "Unknown".
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.ServiceQuery.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ServiceQuery"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.ServiceQuery.Execute">
+            <summary>
+            Executes the task.
+            </summary>
+            <returns><see langword="true"/> if the task ran successfully; 
+            otherwise <see langword="false"/>.</returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.ServiceQuery.GetServiceController">
+            <summary>
+            Gets the service controller.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ServiceQuery.ServiceName">
+            <summary>
+            Gets or sets the name of the service.
+            </summary>
+            <value>The name of the service.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ServiceQuery.MachineName">
+            <summary>
+            Gets or sets the name of the machine.
+            </summary>
+            <value>The name of the machine.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ServiceQuery.Status">
+            <summary>
+            Gets or sets the status.
+            </summary>
+            <value>The status of the service.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ServiceQuery.CanPauseAndContinue">
+            <summary>
+            Gets a value indicating whether the service can be paused and resumed.
+            </summary>
+            <value>
+            	<c>true</c> if this instance can pause and continue; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ServiceQuery.CanShutdown">
+            <summary>
+            Gets a value indicating whether the service should be notified when the system is shutting down. 
+            </summary>
+            <value>
+            	<c>true</c> if this instance can shutdown; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ServiceQuery.CanStop">
+            <summary>
+            Gets a value indicating whether the service can be stopped after it has started. 
+            </summary>
+            <value><c>true</c> if this instance can stop; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ServiceQuery.DisplayName">
+            <summary>
+            Gets a friendly name for the service. 
+            </summary>
+            <value>The name of the display.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ServiceQuery.Exists">
+            <summary>
+            Gets a value indicating whether the service exists.
+            </summary>
+            <value><c>true</c> if the service exists; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.ServiceController.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:ServiceController"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.ServiceController.Execute">
+            <summary>
+            Executes the task.
+            </summary>
+            <returns><see langword="true"/> if the task ran successfully; 
+            otherwise <see langword="false"/>.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ServiceController.Action">
+            <summary>
+            Gets or sets the <see cref="T:ServiceActions"/> to perform on the service.
+            </summary>
+            <value>The action to perform on the service.</value>
+            <enum cref="T:MSBuild.Community.Tasks.ServiceActions"/>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.ServiceController.Timeout">
+            <summary>
+            Gets or sets the timeout for the command. The default is
+            one minute.
+            </summary>
+            <value>The timeout for the command.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.IIS.AppPoolCreate">
+            <summary>
+            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 <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.Username"/> and <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.Password"/> for the task
+            to run under.
+            </summary>
+            <example>Create a new application pool on the local machine.
+            <code><![CDATA[
+            <AppPoolCreate AppPoolName="MyAppPool" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.IIS.AppPoolCreate.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            True if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.ApplicationPoolName">
+            <summary>
+            Gets or sets the name of the application pool.
+            </summary>
+            <value>The name of the application pool.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.AppPoolAutoStart">
+            <summary>
+            The AppPoolAutoStart property indicates to the World Wide Web Publishing Service (WWW service)
+            to automatically start an application pool when the application pool is created or when IIS
+            is started, if the value of this property is set to true.
+            </summary>
+            <value>Value indicating if AppPoolAutoStart is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.AppPoolIdentityType">
+            <summary>
+            The AppPoolIdentityType property allows application pools to run as a specific user account:
+            
+            0 - The application pool runs as NT AUTHORITY\SYSTEM.
+            1 - The application pool runs as NT AUTHORITY\LOCAL SERVICE.
+            2 - The application pool runs as NT AUTHORITY\NETWORK SERVICE.
+            3 - The application pool runs as a specific user account, defined by the <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.WAMUserName"/> property.
+            </summary>
+            <value>Value indicating the application pool identity type.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.AppPoolQueueLength">
+            <summary>
+            The AppPoolQueueLength property indicates to the Universal Listener how many requests
+            to queue up for an application pool before rejecting future requests. When the limit
+            for this property is exceeded, IIS rejects the additional requests with a 503 error.
+            </summary>
+            <value>Value indicating the application pool queue length.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.AutoShutdownAppPoolExe">
+            <summary>
+            The AutoShutdownAppPoolExe property specifies an executable to run when the World Wide Web
+            Publishing Service (WWW service) shuts down an application pool for rapid fail protection. You
+            can use the <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.AutoShutdownAppPoolParams"/> property to send parameters to the executable.
+            </summary>
+            <value>Value indicating the application pool auto shutdown executable.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.AutoShutdownAppPoolParams">
+            <summary>
+            The AutoShutdownAppPoolParams property specifies any command-line parameters for the executable that
+            is specified in the AutoShutdownAppPoolExe property. You can use these two properties in the following
+            way to send e-mail, for example, when the World Wide Web Publishing Service (WWW service) shuts down
+            an application pool for rapid fail protection:
+            
+            AutoShutdownAppPoolExe = "C:\LogAndSendMail.bat"
+            AutoShutdownAppPoolParams = "-AppPoolName %1%"
+            
+            where %1% represents the application pool name.
+            </summary>
+            <value>Value indicating the parameters for the application pool auto shutdown executable.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.CPUAction">
+            <summary>
+            The CPUAction property configures the action(s) that IIS takes when Microsoft Windows NT ® job objects
+            run. Only one Windows NT job object exists per application pool, therefore the CPUAction property
+            is configured on a per application pool basis.
+            
+            Possible values:
+            0 - No action is taken except that a warning is written to the event log when the CPU limit is exceeded.
+            1 - Application pool worker processes that exceed their CPU limit will be forced to shut down.
+            </summary>
+            <value>Value indicating the CPU action.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.CPULimit">
+            <summary>
+            The CPULimit property configures the maximum percentage of CPU resources that worker processes
+            in an application pool are allowed to consume over a period of time, as indicated by the
+            <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.CPUResetInterval"/> property. Set this property by specifying a percentage of CPU
+            usage, multiplied by 1000. For example, if you want the CPU usage limit to be 50%, set CPULimit to 50,000.
+            </summary>
+            <value>Value indicating the CPU limit.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.CPUResetInterval">
+            <summary>
+            The CPUResetInterval property specifies the reset period (in minutes) for CPU monitoring and
+            throttling limits on the application pool. When the number of minutes elapsed since the last
+            process accounting reset equals the number specified by this property, IIS will reset the CPU
+            timers for both the logging and limit intervals. Setting the value of this property to 0
+            disables CPU monitoring.
+            </summary>
+            <value>Value indicating the CPU reset interval.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.DisallowOverlappingRotation">
+            <summary>
+            The DisallowOverlappingRotation property specifies whether or not the World Wide Web Publishing
+            Service (WWW Service) should start up another worker process to replace the existing worker
+            process while it is shutting down.
+            </summary>
+            <value>Value indicating the DisallowOverlappingRotation.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.DisallowRotationOnConfigChange">
+            <summary>
+            The DisallowRotationOnConfigChange property specifies whether or not the World Wide Web Publishing
+            Service (WWW Service) should rotate worker processes in an application pool when the configuration
+            has changed. This means that the worker processes will not pick up application pool changes to
+            values passed to the worker process, such as <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.IdleTimeout"/> and <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.PeriodicRestartRequests"/>.
+            </summary>
+            <value>Value indicating the DisallowRotationOnConfigChange.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.IdleTimeout">
+            <summary>
+            The IdleTimeout property specifies how long (in minutes) a worker process should run idle if no new
+            requests are received and the worker process is not processing requests. After the allotted time
+            passes, the worker process should request to be shut down by the World Wide Web Publishing Service (WWW Service).
+            </summary>
+            <value>Value indicating the idle timeout.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.LoadBalancerCapabilities">
+            <summary>
+            The LoadBalancerCapabilities property specifies behavior when a service is unavailable. A setting of 1
+            terminates the connection. A setting of 2 sends error code 503.
+            </summary>
+            <value>Value indicating the load balancer capabilities.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.LogEventOnRecycle">
+            <summary>
+            The LogEventOnRecycle property specifies that IIS should log an event when an application pool is
+            recycled. Application pools recycle for a variety of reasons. In order for IIS to log the event, the
+            LogEventOnRecycle property must have a bit set corresponding to the reason for the recycle.
+            </summary>
+            <value>Value indicating which recycle events to log.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.LogonMethod">
+            <summary>
+            The LogonMethod property contains an integer that specifies the logon method for cleartext 
+            logons. Valid settings are:
+            
+            0 for interactive logon.
+            1 for batch logon.
+            2 for network logon.
+            3 for cleartext logon.
+            </summary>
+            <value>Value indicating the logon method.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.MaxProcesses">
+            <summary>
+            The MaxProcesses property determines the maximum number of worker processes an application pool
+            allows to service requests for an application pool. This property cannot be set to 0 because there
+            are no unmanaged pools.
+            </summary>
+            <value>Value indicating the maximum number of worker processes allowed by the application pool.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.OrphanActionExe">
+            <summary>
+            The OrphanActionExe property specifies an executable to run when the World Wide Web Publishing
+            Service (WWW service) orphans a worker process. You can use the <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.OrphanActionParams"/> property
+            to send parameters to the executable.
+            </summary>
+            <value>The value for the orphan action executable.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.OrphanActionParams">
+            <summary>
+            The OrphanActionParams property specifies command-line parameters for the executable
+            specified by the <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.OrphanActionExe"/> property.
+            </summary>
+            <value>Value indicating the orphan action parameters.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.OrphanWorkerProcess">
+            <summary>
+            The OrphanWorkerProcess property, when set to true, notifies the World Wide Web Publishing
+            Service (WWW Service) not to terminate a worker process that fails to respond to pings, but
+            to instead orphan the worker process in the application pool if the worker process suffers
+            fatal errors.
+            </summary>
+            <value>Value indicating the orphan worker process.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.PeriodicRestartMemory">
+            <summary>
+            The PeriodicRestartMemory property specifies the amount of virtual memory (in KB) that a
+            worker process can use before the worker process recycles. The maximum value supported
+            for this property is 4,294,967 KB.
+            </summary>
+            <value>Value indicating the amount of memory.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.PeriodicRestartPrivateMemory">
+            <summary>
+            The PeriodicRestartPrivateMemory property specifies the amount of private memory (in KB) that a
+            worker process can use before the worker process recycles. The maximum value supported
+            for this property is 4,294,967 KB.
+            </summary>
+            <value>Value indicating the amount of memory.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.PeriodicRestartRequests">
+            <summary>
+            The PeriodicRestartRequests property indicates the number of requests the OOP application
+            should process, after which it is recycled.
+            </summary>
+            <value>Value indicating the number of requests.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.PeriodicRestartSchedule">
+            <summary>
+            The PeriodicRestartSchedule property specifies the time (in 24 hour format) that the application
+            will be rotated. Each time is in local time and is specified in the following format:
+            
+            PeriodicRestartSchedule="hh:mm,hh:mm,hh:mm"
+            </summary>
+            <value>Value indicating the restart schedule.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.PeriodicRestartTime">
+            <summary>
+            The PeriodicRestartTime property specifies the period of time, in minutes, after which IIS
+            rotates an isolated OOP application. Setting the value of this property to 0 disables the
+            property. The maximum supported value for this property is 71,582.
+            </summary>
+            <value>Value indicating the restart time period.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.PingingEnabled">
+            <summary>
+            The PingingEnabled property specifies whether the World Wide Web Publishing Service
+            (WWW Service) should periodically monitor the health of a worker process. Setting the
+            value of this property to true indicates to the WWW service to monitor the worker
+            processes to ensure that the they are running and healthy.
+            </summary>
+            <value>Value indicating if pinging is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.PingInterval">
+            <summary>
+            The PingInterval property specifies the period of time (in seconds) between health-monitoring
+            pings that the World Wide Web Publishing Service (WWW Service) sends to a worker process.
+            </summary>
+            <value>Value indicating the ping interval.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.PingResponseTime">
+            <summary>
+            The PingResponseTime property specifies the amount of time (in seconds) that a worker process
+            is given to respond to a health monitoring ping. After the time limit is exceeded, the World
+            Wide Web Publishing Service (WWW Service) terminates the worker process.
+            </summary>
+            <value>Value indicating the ping response time.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.RapidFailProtection">
+            <summary>
+            Setting the RapidFailProtection property to true instructs the World Wide Web Publishing
+            Service (WWW service) to put all applications in an application pool out of service if the
+            number of worker process crashes has reached the maximum specified by the
+            <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.RapidFailProtectionMaxCrashes"/> property, within the number of minutes specified
+            by the <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.RapidFailProtectionInterval"/> property.
+            </summary>
+            <value>Value indicating if rapid fail protection is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.RapidFailProtectionInterval">
+            <summary>
+            The RapidFailProtectionInterval property specifies the number of minutes before the failure
+            count for a process is reset. See <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.RapidFailProtection"/>.
+            </summary>
+            <value>Value indicating the rapid fail protection interval.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.RapidFailProtectionMaxCrashes">
+            <summary>
+            The RapidFailProtectionMaxCrashes property specifies the maximum number of failures
+            allowed within the number of minutes specified by the <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.RapidFailProtectionInterval"/> 
+            property. See <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.RapidFailProtection"/>.
+            </summary>
+            <value>Value indicating the maximum number of crashes.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.ShutdownTimeLimit">
+            <summary>
+            The ShutdownTimeLimit property specifies the amount of time (in seconds) after a recycle
+            threshold has been reached that IIS waits for all old requests to finish running in a worker
+            process before terminating the worker process.
+            </summary>
+            <value>Value indicating the shutdown time limit.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.SMPAffinitized">
+            <summary>
+            Setting the SMPAffinitized property to true indicates that a particular worker process
+            assigned to an application pool should be assigned to a given CPU. This property is used
+            in conjunction with the <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.SMPProcessorAffinityMask"/> property to configure a
+            particular processor a worker process will be assigned to.
+            </summary>
+            <value>Value indicating if SMPAffinitized is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.SMPProcessorAffinityMask">
+            <summary>
+            The SMPProcessorAffinityMask property configures the hexadecimal processor mask. The hexadecimal
+            processor mask indicates to which CPU the worker processes in an application pool should be
+            bound. Before this property takes affect, the <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.SMPAffinitized"/> property must be set
+            to true for the application pool. These properties cannot be set through IIS Manager.
+            
+            Do not set this property to zero. Doing so causes no SMP affinity to be configured, creating an
+            error condition. The default DWORD value is 4294967295 (or -1), which is represented in hexadecimal
+            as 0xFFFFFFFF. A value of 0xFFFFFFFF in SMPProcessorAffinityMask indicates that all processors are enabled.
+            </summary>
+            <value>Value indicating the SMP processor affinity bit mask.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.StartupTimeLimit">
+            <summary>
+            The value of the StartupTimeLimit property specifies the amount of time (in seconds) that the World Wide
+            Web Publishing Service (WWW Service) should wait for a worker process to finish starting up and
+            reporting to the WWW Service.
+            </summary>
+            <value>Value indicating the startup time limit.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.WAMUserName">
+            <summary>
+            The WAMUserName property specifies the account user name that IIS uses by default as the COM+
+            application identity for newly created IIS out-of-process applications. The values of this
+            property and its companion property, <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.WAMUserPass"/>, are set when IIS is installed, and
+            match the user name and password values in the Microsoft Windows user account, which is established
+            at the same time. Changing the value of this property is not recommended. If you do, change
+            it to a valid Windows user account, and change WAMUserPass to the corresponding password
+            for the new account.
+            
+            Important:
+            Changes to WAMUserName and WAMUserPass may disrupt the operation of existing IIS out-of-process
+            applications. You can synchronize application identities using Component Services to edit the
+            user name and password values, found on the Identity tab of the property sheet for each package.
+            
+            In-process applications are not affected by these property values.
+            </summary>
+            <value>Value indicating the username.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.WAMUserPass">
+            <summary>
+            The WAMUserPass property specifies the password for the account that IIS uses by default as the COM+
+            application identity for newly created IIS out-of-process applications. The values of this property
+            and its companion property, <see cref="P:MSBuild.Community.Tasks.IIS.AppPoolCreate.WAMUserName"/>, are set when IIS is installed, and match the
+            password and user name values in the Microsoft Windows user account (IWAM_ MachineName, where MachineName
+            is the name of the machine on which IIS is installed) established at the same time.
+            
+            Important:
+            Changing the value of this property is not recommended. If you do, you must change the Windows account
+            password to the identical value. You must also synchronize existing IIS out-of-process application
+            identities, using Component Services to edit the user name and password values, which are found on the
+            Identity tab of the property sheet for each package.
+            
+            In-process applications are not affected by these property values.
+            </summary>
+            <value>Value indicating the password.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.IIS.WebDirectoryCreate">
+            <summary>
+            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 <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.Username"/>
+            and <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.Password"/> for the task to run under.
+            </summary>
+            <example>Create a new web directory on the local machine.
+            <code><![CDATA[
+            <WebDirectoryCreate VirtualDirectoryName="MyVirDir"
+                VirtualDirectoryPhysicalPath="C:\Inetpub\MyWebDir" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            True if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.VirtualDirectoryName">
+            <summary>
+            Gets or sets the name of the virtual directory.
+            </summary>
+            <value>The name of the virtual directory.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.VirtualDirectoryPhysicalPath">
+            <summary>
+            Gets or sets the virtual directory physical path.  The physical directory must
+            exist before this task executes.
+            </summary>
+            <value>The virtual directory physical path.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessExecute">
+            <summary>
+            Gets or sets a value that indicates if the file
+            or the contents of the folder may be executed, regardless of file type.
+            </summary>
+            <value>A value indicating if AccessExecute is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessNoRemoteExecute">
+            <summary>
+            A value of true indicates that remote requests to execute applications
+            are denied; only requests from the same computer as the IIS server succeed
+            if the AccessExecute property is set to true. You cannot set 
+            AccessNoRemoteExecute to false to enable remote requests, and set
+            <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessExecute"/> to false to disable local requests.
+            </summary>
+            <value>Value indicating if AccessNoRemoteExecute is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessNoRemoteRead">
+            <summary>
+            A value of true indicates that remote requests to view files are denied; only
+            requests from the same computer as the IIS server succeed if the <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessRead"/>
+            property is set to true. You cannot set <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessNoRemoteRead"/> to false to enable
+            remote requests, and set <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessRead"/> to false to disable local requests.
+            </summary>
+            <value>Value indicating if AccessNoRemoteRead is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessNoRemoteScript">
+            <summary>
+            A value of true indicates that remote requests to view dynamic content are denied; only
+            requests from the same computer as the IIS server succeed if the <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessScript"/> property
+            is set to true. You cannot set AccessNoRemoteScript to false to enable remote requests, 
+            and set <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessScript"/> to false to disable local requests.
+            </summary>
+            <value>Value indicating if AccessNoRemoteScript is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessNoRemoteWrite">
+            <summary>
+            A value of true indicates that remote requests to create or change files are denied; only
+            requests from the same computer as the IIS server succeed if the <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessWrite"/> property
+            is set to true. You cannot set AccessNoRemoteWrite to false to enable remote requests, 
+            and set <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessWrite"/> to false to disable local requests.
+            </summary>
+            <value>Value indicating if AccessNoRemoteWrite is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessRead">
+            <summary>
+            A value of true indicates that the file or the contents of the folder may be read
+            through Microsoft Internet Explorer.
+            </summary>
+            <value>Value indicating if AccessRead is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessSource">
+            <summary>
+            A value of true indicates that users are allowed to access source code if either
+            Read or Write permissions are set. Source code includes scripts in Microsoft ® Active
+            Server Pages (ASP) applications.
+            </summary>
+            <value>Value indicating if AccessSource is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessScript">
+            <summary>
+            A value of true indicates that the file or the contents of the folder may be executed
+            if they are script files or static content. A value of false only allows static files, 
+            such as HTML files, to be served.
+            </summary>
+            <value>Value indicating if AccessScript is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessSsl">
+            <summary>
+            A value of true indicates that file access requires SSL file permission processing, with
+            or without a client certificate.
+            </summary>
+            <value>Value indicating if AccessSsl is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessSsl128">
+            <summary>
+            A value of true indicates that file access requires SSL file permission processing
+            with a minimum key size of 128 bits, with or without a client certificate.
+            </summary>
+            <value>Value indicating if AccessSsl128 is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessSslMapCert">
+            <summary>
+            A value of true indicates that SSL file permission processing maps a client certificate
+            to a Microsoft Windows ® operating system user-account. The <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessSslNegotiateCert"/> property
+            must also be set to true for the mapping to occur.
+            </summary>
+            <value>Value indicating if AccessSslMapCert is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessSslNegotiateCert">
+            <summary>
+            A value of true indicates that SSL file access processing requests a certificate from
+            the client. A value of false indicates that access continues if the client does not have
+            a certificate. Some versions of Internet Explorer will close the connection if the server
+            requests a certificate and a certificate is not available (even if <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessSslRequireCert"/> 
+            is also set to true).
+            </summary>
+            <value>Value indicating if AccessSslNegotiateCert is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessSslRequireCert">
+            <summary>
+            A value of true indicates that SSL file access processing requests a certificate from the
+            client. If the client provides no certificate, the connection is closed. <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessSslNegotiateCert"/> 
+            must also be set to true when using AccessSSLRequireCert.
+            </summary>
+            <value>Value indicating if AccessSslRequireCert is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AccessWrite">
+            <summary>
+            A value of true indicates that users are allowed to upload files and their associated
+            properties to the enabled directory on your server or to change content in a Write-enabled
+            file. Write can be implemented only with a browser that supports the PUT feature of
+            the HTTP 1.1 protocol standard.
+            </summary>
+            <value>Value indicating if AccessWrite is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AnonymousPasswordSync">
+            <summary>
+            The AnonymousPasswordSync property indicates whether IIS should handle the user password
+            for anonymous users attempting to access resources.
+            </summary>
+            <value>Value indicating if AnonymousPasswordSync is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AppAllowClientDebug">
+            <summary>
+            The AppAllowClientDebug property specifies whether ASP client-side debugging
+            is enabled. This property is independent of <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AppAllowDebugging"/>, which
+            applies to server-side debugging.
+            </summary>
+            <value>Value indicating if AppAllowClientDebug is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AppAllowDebugging">
+            <summary>
+            The AppAllowDebugging property specifies whether ASP debugging is enabled on
+            the server. This property is independent of the <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AppAllowClientDebug"/> property, 
+            which applies to client-side debugging.
+            </summary>
+            <value>Value indicating if AppAllowDebugging is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspAllowSessionState">
+            <summary>
+            The AspAllowSessionState property enables session state persistence for the ASP application.
+            </summary>
+            <value>Value indicating if the AspAllowSessionState is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspBufferingOn">
+            <summary>
+            The AspBufferingOn property specifies whether output from an ASP application will be buffered.
+            </summary>
+            <value>Value indicating if the AspBufferingOn is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspEnableApplicationRestart">
+            <summary>
+            The AspEnableApplicationRestart determines whether an ASP application can be
+            automatically restarted. When changes are made to Global.asa or metabase properties
+            that affect an application, the application will not restart unless the
+            AspEnableApplicationRestart property is set to true.
+            </summary>
+            <value>Value indicating if AspEnableApplicationRestart is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspEnableAspHtmlFallback">
+            <summary>
+            The AspEnableAspHtmlFallback property controls the behavior of ASP when a
+            new request is to be rejected due to a full request queue.
+            </summary>
+            <value>Value indicating if AspEnableAspHtmlFallback is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspEnableChunkedEncoding">
+            <summary>
+            The AspEnableChunkedEncoding property specifies whether HTTP 1.1 chunked
+            transfer encoding is enabled for the World Wide Web Publishing Service (WWW service).
+            </summary>
+            <value>Value indicating if AspEnableChunkedEncoding is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspErrorsToNTLog">
+            <summary>
+            The AspErrorsToNTLog property specifies which ASP errors are written to the
+            Windows event log. ASP errors are written to the client browser and to the IIS
+            log files by default.
+            </summary>
+            <value>Value indicating if AspErrorsToNTLog is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspEnableParentPaths">
+            <summary>
+            The AspEnableParentPaths property specifies whether an ASP page allows paths
+            relative to the current directory (using the ..\ notation) or above the current directory.
+            </summary>
+            <value>Value indicating if AspEnableParentPaths is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspEnableTypelibCache">
+            <summary>
+            The AspEnableTypelibCache property specifies whether type libraries are cached
+            on the server. The World Wide Web Publishing Service (WWW service) setting for
+            this property is applicable to all in-process and pooled out-of-process application
+            nodes, at all levels. Metabase settings at the Web server level or lower are ignored
+            for in-process and pooled out-of-process applications. However, settings at the Web
+            server level or lower are used if that node is an isolated out-of-process application.
+            </summary>
+            <value>Value indicating if AspEnableTypelibCache is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspExceptionCatchEnable">
+            <summary>
+            The AspExceptionCatchEnable property specifies whether ASP pages trap exceptions
+            thrown by components.
+            </summary>
+            <value>Value indicating if AspExceptionCatchEnable is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspLogErrorRequests">
+            <summary>
+            The AspLogErrorRequests property controls whether the Web server writes ASP errors
+            to the application section of the Windows event log. ASP errors are written to the
+            client browser and to the IIS log files by default.
+            </summary>
+            <value>Value indicating if AspLogErrorRequests is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspScriptErrorSentToBrowser">
+            <summary>
+            The AspScriptErrorSentToBrowser property specifies whether the Web server writes
+            debugging specifics (file name, error, line number, description) to the client
+            browser, in addition to logging them to the Windows Event Log. The <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspScriptErrorMessage"/> 
+            property provides the error message to be sent if this property is set to false.
+            </summary>
+            <value>Value indicating if AspScriptErrorSentToBrowser is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspTrackThreadingModel">
+            <summary>
+            The AspTrackThreadingModel property specifies whether IIS checks the threading model
+            of any components (COM objects) that your application creates. The preferred setting
+            of this metabase property is false.
+            </summary>
+            <value>Value indicating if AspTrackThreadingModel is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AuthAnonymous">
+            <summary>
+            Specifies Anonymous authentication as one of the possible Windows authentication
+            schemes returned to clients as being available.
+            </summary>
+            <value>Value indicating if AuthAnonymous is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AuthBasic">
+            <summary>
+            Specifies Basic authentication as one of the possible Windows authentication
+            schemes returned to clients as being available.
+            </summary>
+            <value>Value indicating if AuthBasic is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AuthNtlm">
+            <summary>
+            Specifies Integrated Windows authentication (also known as Challenge/Response or
+            NTLM authentication) as one of the possible Windows authentication schemes
+            returned to clients as being available.
+            </summary>
+            <value>Value indicating if AuthNtlm is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AuthPersistSingleRequest">
+            <summary>
+            Setting this flag to true specifies that authentication persists only for a single
+            request on a connection. IIS resets the authentication at the end of each request, and
+            forces re-authentication on the next request of the session.
+            </summary>
+            <value>Value indicating if AuthPersistSingleRequest is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AuthPersistSingleRequestIfProxy">
+            <summary>
+            Setting this flag to true specifies authentication will persist only across single
+            requests on a connection if the connection is by proxy. IIS will reset the authentication
+            at the end of the request if the current authenticated request is by proxy and it is
+            not the special case where IIS is running MSPROXY.
+            </summary>
+            <value>Value indicating if AuthPersistSingleRequestIfProxy is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AuthPersistSingleRequestAlwaysIfProxy">
+            <summary>
+            Setting this flag to true specifies that authentication is valid for a single request if
+            by proxy. IIS will reset the authentication at the end of the request and force
+            re-authentication on the next request if the current authenticated request is by
+            proxy of any type.
+            </summary>
+            <value>Value indicating if AuthPersistSingleRequestAlwaysIfProxy is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.CacheControlNoCache">
+            <summary>
+            The CacheControlNoCache property specifies the HTTP 1.1 directive to prevent caching of content.
+            </summary>
+            <value>Value indicating if CacheControlNoCache is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.CacheIsapi">
+            <summary>
+            The CacheISAPI property indicates whether ISAPI extensions are cached in memory after first use.
+            </summary>
+            <value>Value indicating if CacheIsapi is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.ContentIndexed">
+            <summary>
+            The ContentIndexed property specifies whether the installed content indexer should
+            index content under this directory tree.
+            </summary>
+            <value>Value indicating if ContentIndexed is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.CpuAppEnabled">
+            <summary>
+            This property specifies whether process accounting and throttling should be performed
+            for ISAPI extensions and ASP applications. To perform process accounting on CGI
+            applications, use the property <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.CpuCgiEnabled"/>.
+            </summary>
+            <value>Value indicating if CpuAppEnabled is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.CpuCgiEnabled">
+            <summary>
+            This property indicates whether IIS should perform process accounting for CGI
+            applications. To effectively throttle CGI applications, use the CgiTimeout
+            property. To use process accounting for ISAPI and ASP applications, use <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.CpuAppEnabled"/>.
+            </summary>
+            <value>Value indicating if CpuCgiEnabled is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.CreateCgiWithNewConsole">
+            <summary>
+            The CreateCGIWithNewConsole property indicates whether a CGI application runs in its own console.
+            </summary>
+            <value>Value indicating if CreateCgiWithNewConsole is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.CreateProcessAsUser">
+            <summary>
+            The CreateProcessAsUser property specifies whether a CGI process is created in the system context or in the context of the requesting user.
+            </summary>
+            <value>Value indicating if CreateProcessAsUser is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.DirBrowseShowDate">
+            <summary>
+            When set to true, date information is displayed when browsing directories.
+            </summary>
+            <value>Value indicating if DirBrowseShowDate is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.DirBrowseShowExtension">
+            <summary>
+            When set to true, file name extensions are displayed when browsing directories.
+            </summary>
+            <value>Value indicating if DirBrowseShowExtension is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.DirBrowseShowLongDate">
+            <summary>
+            When set to true, date information is displayed in extended format when displaying directories.
+            </summary>
+            <value>Value indicating if DirBrowseShowLongDate is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.DirBrowseShowSize">
+            <summary>
+            When set to true, file size information is displayed when browsing directories.
+            </summary>
+            <value>Value indicating if DirBrowseShowSize is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.DirBrowseShowTime">
+            <summary>
+            When set to true, file time information is displayed when displaying directories.
+            </summary>
+            <value>Value indicating if DirBrowseShowTime is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.DontLog">
+            <summary>
+            The DontLog property specifies whether client requests are written to the IIS log files.
+            </summary>
+            <value>Value indicating if DontLog is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.EnableDefaultDoc">
+            <summary>
+            When set to true, the default document (specified by the <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.DefaultDoc"/> property) for
+            a directory is loaded when the directory is browsed.
+            </summary>
+            <value>Value indicating if EnableDefaultDoc is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.EnableDirBrowsing">
+            <summary>
+            When set to true, directory browsing is enabled.
+            </summary>
+            <value>Value indicating if EnableDirBrowsing is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.EnableDocFooter">
+            <summary>
+            The EnableDocFooter property enables or disables custom footers specified by
+            the DefaultDocFooter property.
+            </summary>
+            <value>Value indicating if EnableDocFooter is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.EnableReverseDns">
+            <summary>
+            The EnableReverseDns property enables or disables reverse Domain Name Server (DNS) lookups
+            for the World Wide Web Publishing Service (WWW service). Reverse lookups involve looking
+            up the domain name when the IP address is known. Reverse DNS lookups can use significant
+            resources and time.
+            </summary>
+            <value>Value indicating if EnableReverseDns is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.SsiExecDisable">
+            <summary>
+            The SSIExecDisable property specifies whether server-side include (SSI) #exec directives
+            are disabled under this path.
+            </summary>
+            <value>Value indicating if SsiExecDisable is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.UncAuthenticationPassthrough">
+            <summary>
+            The UNCAuthenticationPassthrough property enables user authentication passthrough
+            for Universal Naming Convention (UNC) virtual root access (for authentication schemes
+            that support delegation).
+            </summary>
+            <value>Value indicating if UncAuthenticationPassthrough is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspScriptErrorMessage">
+            <summary>
+            The AspScriptErrorMessage property specifies the error message to send to the browser
+            if specific debugging errors are not sent to the client (if <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.AspScriptErrorSentToBrowser"/> 
+            is set to false).
+            </summary>
+            <value>Value indicating if AspScriptErrorMessage is enabled or disabled.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.DefaultDoc">
+            <summary>
+            The DefaultDoc contains one or more file names of default documents that will be returned
+            to the client if no file name is included in the client's request. The default document
+            will be returned if the <see cref="P:MSBuild.Community.Tasks.IIS.WebDirectoryCreate.EnableDefaultDoc"/> flag of the DirBrowseFlags property
+            is set to true for the directory. This property can contain a list of default document
+            file names separated by a comma and a space, for example Default.htm, Default.asp.
+            </summary>
+            <value>Listing of the default documents for the web application.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.IIS.AppPoolDelete">
+            <summary>
+            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 <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.Username"/> and <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.Password"/> for the task
+            to run under.
+            </summary>
+            <example>Delete an existing application pool on the local machine.
+            <code><![CDATA[
+            <AppPoolDelete AppPoolName="MyAppPool" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.IIS.AppPoolDelete.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            True if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolDelete.ApplicationPoolName">
+            <summary>
+            Gets or sets the name of the application pool.
+            </summary>
+            <value>The name of the application pool.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.IIS.WebDirectoryDelete">
+            <summary>
+            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 <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.Username"/> and <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.Password"/> for the
+            task to run under.
+            </summary>
+            <example>Deletes a web directory on the local machine.
+            <code><![CDATA[
+            <WebDirectoryDelete VirtualDirectoryName="MyVirDir" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.IIS.WebDirectoryDelete.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            True if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.WebDirectoryDelete.VirtualDirectoryName">
+            <summary>
+            Gets or sets the name of the virtual directory.
+            </summary>
+            <value>The name of the virtual directory.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.IIS.AppPoolControllerActions">
+            <summary>
+            Actions the <see cref="T:MSBuild.Community.Tasks.IIS.AppPoolController"/> can do.
+            </summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.IIS.AppPoolControllerActions.Start">
+            <summary>Start the applicaiton pool</summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.IIS.AppPoolControllerActions.Stop">
+            <summary>Stop the applicaiton pool</summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.IIS.AppPoolControllerActions.Restart">
+            <summary>Restart the applicaiton pool</summary>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.IIS.AppPoolControllerActions.Recycle">
+            <summary>Recycle the applicaiton pool</summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.IIS.AppPoolController">
+            <summary>
+            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 <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.Username"/> and <see cref="P:MSBuild.Community.Tasks.IIS.WebBase.Password"/> for the task
+            to run under.
+            </summary>
+            <example>Restart an application pool on the local machine.
+            <code><![CDATA[
+            <AppPoolController AppPoolName="MyAppPool" Action="Restart" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.IIS.AppPoolController.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            True if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolController.ApplicationPoolName">
+            <summary>
+            Gets or sets the name of the app pool.
+            </summary>
+            <value>The name of the app pool.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.IIS.AppPoolController.Action">
+            <summary>
+            Gets or sets the application pool action.
+            </summary>
+            <value>The application pool action.</value>
+            <enum cref="T:MSBuild.Community.Tasks.IIS.AppPoolControllerActions"/>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Mail">
+            <summary>
+            Sends an email message
+            </summary>
+            <example>Example of sending an email.
+            <code><![CDATA[
+            <Target Name="Mail">
+                <Mail SmtpServer="localhost"
+                    To="user@email.com"
+                    From="from@email.com"
+                    Subject="Test Mail Task"
+                    Body="This is a test of the mail task." />
+            </Target>
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Mail.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Mail"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Mail.Execute">
+            <summary>Sends an email message</summary>
+            <returns>Returns true if successful</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Mail.Attachments">
+            <summary>
+            List of files to attach to message
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Mail.Bcc">
+            <summary>
+            List of addresss that contains the blind carbon copy (BCC) recipients for this e-mail message
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Mail.CC">
+            <summary>
+            List of addresss that contains the carbon copy (CC) recipients for this e-mail message
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Mail.Body">
+            <summary>
+            The email message body
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Mail.From">
+            <summary>
+            The from address for this e-mail message
+            </summary>
+            <remarks>
+            This property is required.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Mail.IsBodyHtml">
+            <summary>
+            A value indicating whether the mail message body is in Html
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Mail.Priority">
+            <summary>
+            The priority of this e-mail message
+            </summary>
+            <remarks>
+            Possible values are High, Normal, and Low
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Mail.Subject">
+            <summary>
+            The subject line for this e-mail message
+            </summary>
+            <remarks>
+            This property is required.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Mail.SmtpServer">
+            <summary>
+            The name or IP address of the host used for SMTP transactions
+            </summary>
+            <remarks>
+            This property is required.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Mail.To">
+            <summary>
+            List of addresss that contains the recipients of this e-mail message
+            </summary>
+            <remarks>
+            This property is required.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Mail.Username">
+            <summary>
+            Gets or sets the username.
+            </summary>
+            <value>The username.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Mail.Password">
+            <summary>
+            Gets or sets the password.
+            </summary>
+            <value>The password.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Mail.EnableSsl">
+            <summary>
+            Specify whether the Mail task uses SSL to encrypt the connection.
+            </summary>
+            <value><c>true</c> if the Mail task uses SSL; otherwise <c>false</c>. The default value is <c>false</c>.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Math.Add">
+            <summary>
+            Add numbers
+            </summary>
+            <example>Adding numbers:
+            <code><![CDATA[
+            <Math.Add Numbers="4;3">
+                <Output TaskParameter="Result" PropertyName="Result" />
+            </Math.Add>
+            <Message Text="Add 4+3= $(Result)"/>
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Math.Add.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Math.Divide">
+            <summary>
+            Divide numbers
+            </summary>
+            <example>
+      <code>
+        <![CDATA[
+<Math.Divide Numbers="1;2">
+    <Output TaskParameter="Result" PropertyName="Result" />
+</Math.Divide>
+<Message Text="Divide 1/2= $(Result)"/>
+]]>
+      </code>
+      Above example will display:
+      <code>Divide 1/2= 0.5</code>
+    </example><example>
+      Truncate the result to always return an integer:
+      <code>
+        <![CDATA[
+<Math.Divide Numbers="7;3" TruncateResult="true">
+    <Output TaskParameter="Result" PropertyName="Result" />
+</Math.Divide>
+<Message Text="Divide 7/3= $(Result)"/>
+]]>
+      </code>
+      Above example will display:
+      <code>Divide 7/3= 2</code>
+    </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Math.Divide.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Math.Divide.TruncateResult">
+            <summary>
+            When <see langword="true"/>, uses integer division to truncate the result. Default is <see langword="false" />
+            </summary>
+            <remarks>
+            Any remainder in the result is dropped, and the closest integer to zero is returned.
+            <para>
+            Refer to the documentation for the <see href="http://msdn2.microsoft.com/library/0e16fywh.aspx">\ Operator</see>
+            for more information about integer division.
+            </para>
+            </remarks>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Math.Multiple">
+            <summary>
+            Multiple numbers
+            </summary>
+            <example>
+            <code><![CDATA[
+            <Math.Multiple Numbers="10;3">
+                <Output TaskParameter="Result" PropertyName="Result" />
+            </Math.Multiple>
+            <Message Text="Multiple 10*3= $(Result)"/>
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Math.Multiple.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Math.Subtract">
+            <summary>
+            Subtract numbers
+            </summary>
+            <example>
+            <code><![CDATA[
+            <Math.Subtract Numbers="10;3">
+                <Output TaskParameter="Result" PropertyName="Result" />
+            </Math.Subtract>
+            <Message Text="Subtract 10-3= $(Result)"/>
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Math.Subtract.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.MV">
+            <summary>
+            Moves files on the filesystem to a new location.
+            </summary>
+            <example>
+            <para>Move a file to another folder</para>
+            <code><![CDATA[
+            <MV SourceFiles="Test\MoveMe.txt"
+                DestinationFolder="Test\Move" />
+            ]]></code>
+            <para>Rename a file</para>
+            <code><![CDATA[
+            <MV SourceFiles="Test\Move\MoveMe.txt"
+                DestinationFiles="Test\Move\Renamed.txt" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.MV.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.MV.MovedFiles">
+            <summary>
+            Gets the items that were successfully moved.
+            </summary>
+            <value>The moved files.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.MV.DestinationFiles">
+            <summary>
+            Gets or sets the list of files to moved the source files to. 
+            </summary>
+            <remarks>
+            This list is expected to be a one-to-one mapping with the 
+            list specified in the SourceFiles parameter. That is, the 
+            first file specified in SourceFiles will be moved to the 
+            first location specified in DestinationFiles, and so forth.
+            </remarks>
+            <value>The destination files.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.MV.DestinationFolder">
+            <summary>
+            Gets or sets the directory to which you want to move the files.
+            </summary>
+            <value>The destination folder.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.MV.SourceFiles">
+            <summary>
+            Gets or sets the source files to move.
+            </summary>
+            <value>The source files to move.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.NDoc">
+            <summary>
+            Runs the NDoc application.
+            </summary>
+            <example>Generated html help file.
+            <code><![CDATA[
+            <NDoc Documenter="MSDN" 
+                ProjectFilePath="MSBuild.Community.Tasks.ndoc" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.NDoc.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:NDoc"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.NDoc.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.NDoc.GenerateFullPathToTool">
+            <summary>
+            Returns the fully qualified path to the executable file.
+            </summary>
+            <returns>
+            The fully qualified path to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.NDoc.LogToolCommand(System.String)">
+            <summary>
+            Logs the starting point of the run to all registered loggers.
+            </summary>
+            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.NDoc.GetWorkingDirectory">
+            <summary>
+            Returns the directory in which to run the executable file.
+            </summary>
+            <returns>
+            The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NDoc.Documenter">
+            <summary>
+            Gets or sets the documenter.
+            </summary>
+            <value>The documenter.</value>
+            <remarks>Available documenters are VS.NET_2003, JavaDoc, LaTeX, LinearHtml, MSDN, XML.</remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NDoc.ProjectFilePath">
+            <summary>
+            Gets or sets the project file path.
+            </summary>
+            <value>The project file path.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NDoc.Verbose">
+            <summary>
+            Gets or sets a value indicating whether the output is verbose.
+            </summary>
+            <value><c>true</c> if verbose; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NDoc.WorkingDirectory">
+            <summary>
+            Gets or sets the working directory.
+            </summary>
+            <value>The working directory.</value>
+            <returns>
+            The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NDoc.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>The name of the executable file to run.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NDoc.StandardOutputLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.NUnit">
+            <summary>
+            Run NUnit 2.4 on a group of assemblies.
+            </summary>
+            <example>Run NUnit tests.
+            <code><![CDATA[
+            <ItemGroup>
+                <TestAssembly Include="C:\Program Files\NUnit 2.4\bin\*.tests.dll" />
+            </ItemGroup>
+            <Target Name="NUnit">
+                <NUnit Assemblies="@(TestAssembly)" />
+            </Target>
+            ]]></code>
+            </example>
+        </member>
+        <member name="F:MSBuild.Community.Tasks.NUnit.DEFAULT_NUNIT_DIRECTORY">
+            <summary>
+            The default relative path of the NUnit installation.
+            The value is <c>@"NUnit 2.4\bin"</c>.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.NUnit.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:NUnit"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.NUnit.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.NUnit.GenerateFullPathToTool">
+            <summary>
+            Returns the fully qualified path to the executable file.
+            </summary>
+            <returns>
+            The fully qualified path to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.NUnit.LogToolCommand(System.String)">
+            <summary>
+            Logs the starting point of the run to all registered loggers.
+            </summary>
+            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.NUnit.GetWorkingDirectory">
+            <summary>
+            Returns the directory in which to run the executable file.
+            </summary>
+            <returns>
+            The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NUnit.Assemblies">
+            <summary>
+            Gets or sets the assemblies.
+            </summary>
+            <value>The assemblies.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NUnit.IncludeCategory">
+            <summary>
+            Gets or sets the categories to include.
+            </summary>
+            <remarks>Multiple values must be separated by a comma ","</remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NUnit.ExcludeCategory">
+            <summary>
+            Gets or sets the categories to exclude.
+            </summary>
+            <remarks>Multiple values must be separated by a comma ","</remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NUnit.Fixture">
+            <summary>
+            Gets or sets the fixture.
+            </summary>
+            <value>The fixture.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NUnit.XsltTransformFile">
+            <summary>
+            Gets or sets the XSLT transform file.
+            </summary>
+            <value>The XSLT transform file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NUnit.OutputXmlFile">
+            <summary>
+            Gets or sets the output XML file.
+            </summary>
+            <value>The output XML file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NUnit.ErrorOutputFile">
+            <summary>
+            The file to receive test error details.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NUnit.WorkingDirectory">
+            <summary>
+            Gets or sets the working directory.
+            </summary>
+            <value>The working directory.</value>
+            <returns>
+            The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NUnit.DisableShadowCopy">
+            <summary>
+            Determines whether assemblies are copied to a shadow folder during testing.
+            </summary>
+            <remarks>Shadow copying is enabled by default. If you want to test the assemblies "in place",
+            you must set this property to <c>True</c>.</remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NUnit.ProjectConfiguration">
+            <summary>
+            The project configuration to run.
+            </summary>
+            <remarks>Only applies when a project file is used. The default is the first configuration, usually Debug.</remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NUnit.TestInNewThread">
+            <summary>
+            Allows tests to be run in a new thread, allowing you to take advantage of ApartmentState and ThreadPriority settings in the config file.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NUnit.Force32Bit">
+            <summary>
+            Determines whether the tests are run in a 32bit process on a 64bit OS.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NUnit.Framework">
+            <summary>
+            Determines the framework to run aganist.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NUnit.ShowLabels">
+            <summary>
+            Whether or not to show test labels in output
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NUnit.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>The name of the executable file to run.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.NUnit.StandardOutputLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Properties.Resources">
+            <summary>
+              A strongly-typed resource class, for looking up localized strings, etc.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ResourceManager">
+            <summary>
+              Returns the cached ResourceManager instance used by this class.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.Culture">
+            <summary>
+              Overrides the current thread's CurrentUICulture property for all
+              resource lookups using this strongly typed resource class.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ActiveDirectoryLookupException">
+            <summary>
+              Looks up a localized string similar to Failed to lookup information for {0} in Active Directory..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.AttribDirectory">
+            <summary>
+              Looks up a localized string similar to Attrib directory &apos;{0}&apos;. {1}.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.AttribFile">
+            <summary>
+              Looks up a localized string similar to Attrib file &apos;{0}&apos;. {1}.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.CouldNotConnectToRemoteServer">
+            <summary>
+              Looks up a localized string similar to Couldn&apos;t connect to remove server..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.CouldNotResolveServerHostName">
+            <summary>
+              Looks up a localized string similar to Couldn&apos;t resolve server host name {0}..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.CreatingDirectory">
+            <summary>
+              Looks up a localized string similar to Creating directory &quot;{0}&quot;..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ExactlyOneTypeOfDestination">
+            <summary>
+              Looks up a localized string similar to Both &quot;{0}&quot; and &quot;{1}&quot; were specified as input parameters in the project file. Please choose one or the other..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.FileNotFound">
+            <summary>
+              Looks up a localized string similar to File Not Found: {0}.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.FtpLocalNotFound">
+            <summary>
+              Looks up a localized string similar to Local File Not Found: {0}.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.FtpPercentComplete">
+            <summary>
+              Looks up a localized string similar to   {0}% Complete ({1}).
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.FtpTransfered">
+            <summary>
+              Looks up a localized string similar to Transfered {0} ({1}) in {2}.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.FtpUploadComplete">
+            <summary>
+              Looks up a localized string similar to Upload File Complete, {0}.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.FtpUploading">
+             <summary>
+               Looks up a localized string similar to Uploading &quot;{0}&quot;
+               to &quot;{1}&quot;
+            .
+             </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.FtpUriInvalid">
+            <summary>
+              Looks up a localized string similar to The URI &quot;{0}&quot; scheme is not valid..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.JSCompressCompressed">
+            <summary>
+              Looks up a localized string similar to Compressed by {0}, from {1} to {2} byte(s).
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.JSCompressCompressing">
+            <summary>
+              Looks up a localized string similar to Compressing JavaScript in &quot;{0}&quot;..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.JSCompressWriting">
+            <summary>
+              Looks up a localized string similar to Writing compressed JavaScript back to &quot;{0}&quot; using {1}..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.MailEmailing">
+            <summary>
+              Looks up a localized string similar to Emailing &quot;{0}&quot;..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.MathNotNumber">
+            <summary>
+              Looks up a localized string similar to &quot;{0}&quot; is not a number..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.MergeComplete">
+            <summary>
+              Looks up a localized string similar to Merge Complete: {0} files merged into &apos;{1}&apos;..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.MergeCompleteNoSourceFiles">
+            <summary>
+              Looks up a localized string similar to Merge Complete: No source files to merge..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.MergingFile">
+            <summary>
+              Looks up a localized string similar to Merging file &apos;{0}&apos; into &apos;{1}&apos;.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.MoveError">
+            <summary>
+              Looks up a localized string similar to Unable to move file &quot;{0}&quot; to &quot;{1}&quot;. {2}.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.MoveFileComment">
+            <summary>
+              Looks up a localized string similar to Moving file from &quot;{0}&quot; to &quot;{1}&quot;..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.NUnitNotFound">
+            <summary>
+              Looks up a localized string similar to Could not find the NUnit Project File open command. Please make sure NUnit is installed..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.OracleHomeCheck">
+            <summary>
+              Looks up a localized string similar to Checking Oracle Home: {0}.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ParameterNotUsed">
+            <summary>
+              Looks up a localized string similar to The parameter &quot;{1}&quot; does not apply to the current use of task &quot;{0}&quot;..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ParameterRequired">
+            <summary>
+              Looks up a localized string similar to The &quot;{0}&quot; task was not given a value for the required parameter &quot;{1}&quot;..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.RegistryRead">
+            <summary>
+              Looks up a localized string similar to Read Windows Registry.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.RegistryWrite">
+            <summary>
+              Looks up a localized string similar to Write Windows Registry.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceCannotContinue">
+            <summary>
+              Looks up a localized string similar to Cannot continue service {0} on computer &apos;{1}&apos; as it does not support the pause and continue..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceCannotPause">
+            <summary>
+              Looks up a localized string similar to Cannot pause service {0} on computer &apos;{1}&apos; as it does not support the pause and continue..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceCannotStop">
+            <summary>
+              Looks up a localized string similar to Cannot stop service {0} on computer &apos;{1}&apos;..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceContinued">
+            <summary>
+              Looks up a localized string similar to {0} service was continued successfully..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceContinuing">
+            <summary>
+              Looks up a localized string similar to {0} service is continuing ....
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceNotFound">
+            <summary>
+              Looks up a localized string similar to Couldn&apos;t find the &apos;{0}&apos; service on &apos;{1}&apos;.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceNotPaused">
+            <summary>
+              Looks up a localized string similar to Cannot continue service {0} on computer &apos;{1}&apos; as its not currently paused..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceNotStarted">
+            <summary>
+              Looks up a localized string similar to Cannot pause service {0} on computer &apos;{1}&apos; as its not currently started..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServicePaused">
+            <summary>
+              Looks up a localized string similar to {0} service was paused successfully..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServicePausing">
+            <summary>
+              Looks up a localized string similar to {0} service is pausing ....
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceStarted">
+            <summary>
+              Looks up a localized string similar to {0} service was started successfully..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceStarting">
+            <summary>
+              Looks up a localized string similar to {0} service is starting ....
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceStatus">
+            <summary>
+              Looks up a localized string similar to The &apos;{0}&apos; service on &apos;{1}&apos; is &apos;{2}&apos;..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceStopped">
+            <summary>
+              Looks up a localized string similar to {0} service was stopped successfully..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ServiceStopping">
+            <summary>
+              Looks up a localized string similar to {0} service is stopping ....
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.SolutionNotFound">
+            <summary>
+              Looks up a localized string similar to Solution file &quot;{0}&quot; not found..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.SvnLocalPathNotWorkCopy">
+            <summary>
+              Looks up a localized string similar to LocalPath is not a working subversion copy..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TaskDestinationIsDirectory">
+            <summary>
+              Looks up a localized string similar to Could not {0} the file &quot;{1}&quot; to the destination file &quot;{2}&quot;, because the destination is a folder instead of a file. To {0} the source file into a folder, consider using the DestinationFolder parameter instead of DestinationFiles..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TaskNeedsDestination">
+            <summary>
+              Looks up a localized string similar to No destination specified for {0}. Please supply either &quot;{1}&quot; or &quot;{2}&quot;..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TaskSourceIsDirectory">
+            <summary>
+              Looks up a localized string similar to The source file &quot;{0}&quot; is actually a directory.  The &quot;{1}&quot; task does not support moving directories..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TimeFormatException">
+            <summary>
+              Looks up a localized string similar to Failed to get current date!.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TimeGettingCurrentDate">
+            <summary>
+              Looks up a localized string similar to Getting current date..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TnsnameAdded">
+            <summary>
+              Looks up a localized string similar to Adding TNSNAMES entry &quot;{0}&quot; to &quot;{1}&quot;.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TnsNamesFileCheck">
+            <summary>
+              Looks up a localized string similar to Looking for {0}.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TnsNamesFileNotFound">
+            <summary>
+              Looks up a localized string similar to Unable to locate a TNSNAMES.ORA file. Please specify a value for TnsNamesFile..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TnsnameUpdateAborted">
+            <summary>
+              Looks up a localized string similar to TNSNAME entry &quot;{0}&quot; already exists in &quot;{1}&quot; and AllowUpdates=false..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TnsnameUpdated">
+            <summary>
+              Looks up a localized string similar to Updating TNSNAMES entry &quot;{0}&quot; in &quot;{1}&quot;.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.TwoVectorsMustHaveSameLength">
+            <summary>
+              Looks up a localized string similar to &quot;{2}&quot; refers to {0} item(s), and &quot;{3}&quot; refers to {1} item(s). They must have the same number of items..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.UnzipExtracted">
+            <summary>
+              Looks up a localized string similar to   extracted &quot;{0}&quot;.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.UnzipFileToDirectory">
+             <summary>
+               Looks up a localized string similar to Unzip File &quot;{0}&quot;
+                to Directory &quot;{1}&quot;
+            .
+             </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.UnzipSuccessfully">
+            <summary>
+              Looks up a localized string similar to Unzipped file &quot;{0}&quot; successfully..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultAddFileCommitFailed">
+            <summary>
+              Looks up a localized string similar to Commitment of change set failed!.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultAddFileCommitSucceeded">
+            <summary>
+              Looks up a localized string similar to Files added to Vault repository successfully..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultAddFilesException">
+            <summary>
+              Looks up a localized string similar to Files specified for addition to repository cannot be found..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultCheckinFileException">
+            <summary>
+              Looks up a localized string similar to The file {0} could not be checked in: {1}..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultCheckinFileNotFoundException">
+            <summary>
+              Looks up a localized string similar to File or folder {0} not found for checkin..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultCheckinFolderException">
+            <summary>
+              Looks up a localized string similar to The folder {0} could not be checked in: {1}..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultCheckinSuccessful">
+            <summary>
+              Looks up a localized string similar to {0} successfully checked out..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultCheckoutSuccessful">
+            <summary>
+              Looks up a localized string similar to {0} successfully checked out..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultDiskFileDoesNotExist">
+            <summary>
+              Looks up a localized string similar to Specified diskfile {0} does not exist..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultFileAddedToChangeSet">
+            <summary>
+              Looks up a localized string similar to File [{0}] added to change set..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultFolderAddedToChangeSet">
+            <summary>
+              Looks up a localized string similar to Folder [{0}] added to change set..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultIncorrectParameters">
+            <summary>
+              Looks up a localized string similar to Incorrect parameters passed to VaultSession..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultLoginFailed">
+            <summary>
+              Looks up a localized string similar to Login to Vault repository failed..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultPathValidationException">
+            <summary>
+              Looks up a localized string similar to Error validating path &quot;{0}&quot;..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultRepositorySelectionFailure">
+            <summary>
+              Looks up a localized string similar to Selection of the repository failed: {0}..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultResourceNotFound">
+            <summary>
+              Looks up a localized string similar to File or folder {0} not found for checkout..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultSetNewWorkingFolder">
+            <summary>
+              Looks up a localized string similar to Set working folder for {0} to {1} from {2}..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultTreeCacheFailure">
+            <summary>
+              Looks up a localized string similar to ClientInstance.TreeCache has not been initialized, Common cause is that SelectRepository has not been called sucessfully..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultUndoCheckoutSuccessful">
+            <summary>
+              Looks up a localized string similar to Successfully undid check out for {0}..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultUrlRequired">
+            <summary>
+              Looks up a localized string similar to Url specifying vault location is required..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultUsernameRequired">
+            <summary>
+              Looks up a localized string similar to Username must be set to access repository..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultWorkingFolderCleared">
+            <summary>
+              Looks up a localized string similar to Clearing working folder for {0}..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VaultWorkingFolderRestored">
+            <summary>
+              Looks up a localized string similar to Restoring working folder for {0} to {1}..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VersionFileNotFound">
+            <summary>
+              Looks up a localized string similar to Version file &quot;{0}&quot; not found - creating new file..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VersionModifiedValue">
+            <summary>
+              Looks up a localized string similar to Updated to version {0}.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VersionOriginalValue">
+            <summary>
+              Looks up a localized string similar to Initialized to version {0}.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VersionRead">
+            <summary>
+              Looks up a localized string similar to Reading version from file &quot;{0}&quot;..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VersionReadException">
+            <summary>
+              Looks up a localized string similar to Unable to read version number from &quot;{0}&quot;. {1}.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VersionWriteException">
+            <summary>
+              Looks up a localized string similar to Unable to write version number to &quot;{0}&quot;. {1}&quot;.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.VersionWrote">
+            <summary>
+              Looks up a localized string similar to Wrote version to file &quot;{0}&quot;..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.WebDirectoryInvalidDirectory">
+            <summary>
+              Looks up a localized string similar to Web directory {0} does not exist on {1}..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.WebDirectoryScriptMapUpdate">
+            <summary>
+              Looks up a localized string similar to Setting scriptmap for {0} on web directory {1} on {2}..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.WebDirectorySettingInvalidSetting">
+            <summary>
+              Looks up a localized string similar to Web directory {0} on {1} does not have a setting called {2}..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.WebDirectorySettingStatusRead">
+            <summary>
+              Looks up a localized string similar to Reading {0} property of web directory {1} on {2}..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.WebDirectorySettingStatusSet">
+            <summary>
+              Looks up a localized string similar to Setting {0} property of web directory {1} on {2}..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XmlReadDocument">
+            <summary>
+              Looks up a localized string similar to Reading Xml Document &quot;{0}&quot;..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XmlReadNodes">
+            <summary>
+              Looks up a localized string similar to   {0} node(s) selected for read..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XmlReadResult">
+            <summary>
+              Looks up a localized string similar to XmlRead Result: &quot;{0}&quot;.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XmlUpdateDocument">
+            <summary>
+              Looks up a localized string similar to Updating Xml Document &quot;{0}&quot;..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XmlUpdateNodes">
+            <summary>
+              Looks up a localized string similar to   {0} node(s) selected for update..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XmlUpdateResult">
+            <summary>
+              Looks up a localized string similar to XmlUpdate Wrote: &quot;{0}&quot;..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XsltAddingParameter">
+            <summary>
+              Looks up a localized string similar to Adding Parameter &quot;{0}&quot;: &quot;{1}&quot;..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XsltAddingRootAttribute">
+            <summary>
+              Looks up a localized string similar to Adding root attribute {0}=&quot;{1}&quot;..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XsltCreatingRootTag">
+            <summary>
+              Looks up a localized string similar to Creating root tag &quot;{0}&quot;..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XsltNoInputFiles">
+            <summary>
+              Looks up a localized string similar to No input files..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.XsltNoRootTag">
+            <summary>
+              Looks up a localized string similar to No root tag inserted..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ZipAdded">
+            <summary>
+              Looks up a localized string similar to   added &quot;{0}&quot;..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ZipCreating">
+            <summary>
+              Looks up a localized string similar to Creating zip file &quot;{0}&quot;..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ZipFileNotFound">
+            <summary>
+              Looks up a localized string similar to Zip File Not Found: {0}..
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Properties.Resources.ZipSuccessfully">
+            <summary>
+              Looks up a localized string similar to Created zip file &quot;{0}&quot; successfully..
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.RegistryRead">
+            <summary>
+            Reads a value from the Registry
+            </summary>
+            <example>Read .NET Framework install root from Registry.
+            <code><![CDATA[
+            <RegistryRead 
+                KeyName="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework" 
+                ValueName="InstallRoot">
+                <Output TaskParameter="Value" PropertyName="InstallRoot" />
+            </RegistryRead>
+            <Message Text="InstallRoot: $(InstallRoot)"/>
+            ]]></code>
+            </example>
+            <remarks>The <see cref="P:MSBuild.Community.Tasks.RegistryRead.Value"/> parameter is set according to the following rules:
+            <list type="table"><item><description>If a <see cref="P:MSBuild.Community.Tasks.RegistryRead.DefaultValue"/> is provided, it will be used if the <see cref="P:MSBuild.Community.Tasks.RegistryRead.KeyName"/> or <see cref="P:MSBuild.Community.Tasks.RegistryRead.ValueName"/> does not exist.</description></item>
+            <item><description>If a <see cref="P:MSBuild.Community.Tasks.RegistryRead.DefaultValue"/> is not provided, the <see cref="P:MSBuild.Community.Tasks.RegistryRead.KeyName"/> exists, but the <see cref="P:MSBuild.Community.Tasks.RegistryRead.ValueName"/> does not exist, <see cref="P:MSBuild.Community.Tasks.RegistryRead.Value"/> will be set to an empty string.</description></item>
+            <item><description>If a <see cref="P:MSBuild.Community.Tasks.RegistryRead.DefaultValue"/> is not provided, and the <see cref="P:MSBuild.Community.Tasks.RegistryRead.KeyName"/> does not exist, the task will fail.</description></item></list></remarks>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.RegistryRead.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:RegistryRead"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.RegistryRead.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegistryRead.KeyName">
+            <summary>
+            Gets or sets the full registry path of the key, beginning with a valid registry root, such as "HKEY_CURRENT_USER".
+            </summary>
+            <value>The name of the key.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegistryRead.ValueName">
+            <summary>
+            Gets or sets the name of the name/value pair.
+            </summary>
+            <value>The name of the value.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegistryRead.DefaultValue">
+            <summary>
+            Gets or sets the default value.
+            </summary>
+            <value>The default value.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegistryRead.Value">
+            <summary>
+            Gets the stored value.
+            </summary>
+            <value>The value.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.RegistryWrite">
+            <summary>
+            Writes a value to the Registry
+            </summary>
+            <example>Write a value to Registry
+            <code><![CDATA[
+            <RegistryWrite 
+                KeyName="HKEY_CURRENT_USER\SOFTWARE\MSBuildTasks"
+                ValueName="RegistryWrite"
+                Value="Test Write" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.RegistryWrite.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:RegistryWrite"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.RegistryWrite.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegistryWrite.KeyName">
+            <summary>
+            Gets or sets the full registry path of the key, beginning with a valid registry root, such as "HKEY_CURRENT_USER".
+            </summary>
+            <value>The name of the key.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegistryWrite.ValueName">
+            <summary>
+            Gets or sets the name of the name/value pair.
+            </summary>
+            <value>The name of the value.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.RegistryWrite.Value">
+            <summary>
+            Gets or sets the value to be stored.
+            </summary>
+            <value>The value.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Script">
+            <summary>
+            Executes code contained within the task.
+            </summary>
+            <example>
+      <para>Simple script that writes to the console</para>
+      <code>
+        <![CDATA[
+<PropertyGroup>
+    <HelloCode>
+        <![CDATA[
+        public static void ScriptMain() {
+            Console.WriteLine("Hello MSBuild Community Scripting World.");
+        }
+        ]] >
+    </HelloCode>
+</PropertyGroup>
+<Target Name="Hello">
+    <Script Language="C#" Code="$(HelloCode)" Imports="System" />
+</Target>
+]]>
+      </code>
+    </example><example>
+      <para>Script that returns a value.</para>
+      <code>
+        <![CDATA[
+<PropertyGroup>
+    <GetProgramFilesCode>
+        <![CDATA[
+        public static string ScriptMain() {
+            return Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);
+        }
+        ]] >
+    </GetProgramFilesCode>
+</PropertyGroup>
+<Target Name="GetProgramFilesFolder">
+    <Script Language="C#" Code="$(GetProgramFilesCode)">
+        <Output TaskParameter="ReturnValue" PropertyName="ProgramFilesFolder" />
+    </Script>
+    <Message Text="Program files are in: $(ProgramFilesFolder)" />
+</Target>
+]]>
+      </code>
+    </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Script.Execute">
+            <summary>
+            Executes the task.
+            </summary>
+            <returns><see langword="true"/> if the task ran successfully; 
+            otherwise <see langword="false"/>.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Script.References">
+            <summary>
+            The required references
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Script.Imports">
+            <summary>
+            The namespaces to import.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Script.Language">
+            <summary>
+            The language of the script block (defaults to C#).
+            </summary>
+            <remarks><para>The supported languages are:</para>
+            <list type="bullet">
+            <item><description>Visual Basic.NET (VB, vb, VISUALBASIC)</description></item>
+            <item><description>C# (C#, c#, CSHARP)</description></item>
+            <item><description>JavaScript (JS, js, JSCRIPT)</description></item>
+            <item><description>J# (VJS, vjs, JSHARP)</description></item>
+            </list> or, proviude the fully-qualified name for a class implementing 
+            <see cref="T:System.CodeDom.Compiler.CodeDomProvider"/>.</remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Script.MainClass">
+            <summary>
+            The name of the main class containing the static <c>ScriptMain</c> 
+            entry point. 
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Script.Code">
+            <summary>
+            The code to compile and execute
+            </summary>
+            <remarks>
+            The code must include a static (Shared in VB) method named ScriptMain.
+            It cannot accept any parameters. If you define the method return a <see cref="T:System.String"/>,
+            the returned value will be available in the <see cref="P:MSBuild.Community.Tasks.Script.ReturnValue"/> output property.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Script.ReturnValue">
+            <summary>
+            The string returned from the custom ScriptMain method.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Sleep">
+            <summary>
+            A task for sleeping for a specified period of time.
+            </summary>
+            <example>Causes the build to sleep for 300 milliseconds.
+            <code><![CDATA[
+            <Sleep Milliseconds="300" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Sleep.Execute">
+            <summary>
+            Executes the task.
+            </summary>
+            <returns><see langword="true"/> if the task ran successfully; 
+            otherwise <see langword="false"/>.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sleep.Milliseconds">
+            <summary>
+            The number of milliseconds to add to the time to sleep.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sleep.Seconds">
+            <summary>
+            The number of seconds to add to the time to sleep.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sleep.Minutes">
+            <summary>
+            The number of minutes to add to the time to sleep.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Sleep.Hours">
+            <summary>
+            The number of hours to add to the time to sleep.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.SqlExecute">
+            <summary>
+            Executes a SQL command.
+            </summary>
+            <remarks>
+            Execute a SQL command against a database.  Target attributes to set:
+            ConnectionString (required), Command (required, the SQL to execute),
+            SelectMode (NonQuery, Scalar, or ScalarXml, default is NonQuery),
+            OutputFile (required when SelectMode is Scalar or ScalarXml).
+            
+            Note: ScalarXml was created because of the 2033 byte limit on the sql return. 
+            See http://aspnetresources.com/blog/executescalar_truncates_xml.aspx for details.
+            </remarks>
+            <example>
+            Example of returning a count of items in a table.  Uses the default SelectMode of NonQuery.
+            <code><![CDATA[
+                <SqlExecute ConnectionString="server=MyServer;Database=MyDatabase;Trusted_Connection=yes;"
+                    Command="create database MyDatabase" />
+            ]]></code>
+            
+            Example of returning the items of a table in an xml format.
+            <code><![CDATA[
+                <SqlExecute ConnectionString="server=MyServer;Database=MyDatabase;Trusted_Connection=yes;"
+            		Command="select * from SomeTable for xml auto"
+            		SelectMode="ScalarXml"
+            		OutputFile="SomeTable.xml" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SqlExecute.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.SqlExecute.IsOutputFileSpecified(System.String)">
+            <summary>
+            Determines if an output file was specified.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlExecute.ConnectionString">
+            <summary>
+            The connection string
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlExecute.Command">
+            <summary>
+            The command to execute
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlExecute.CommandTimeout">
+            <summary>
+            Command Timeout
+            </summary>
+            <remarks>Defaults to 30 seconds. Set to 0 for an infinite timeout period.</remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlExecute.SelectMode">
+            <summary>
+            The SQL Selection Mode.  Set to NonQuery, Scalar, or ScalarXml.  Default is NonQuery.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlExecute.OutputFile">
+            <summary>
+            The file name to write to
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.SqlExecute.Result">
+            <summary>
+            Output the return count/value
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Subversion.SvnCheckout">
+            <summary>
+            Checkout a local working copy of a Subversion repository.
+            </summary>
+            <example>Checkout a working copy
+            <code><![CDATA[
+            <Target Name="Checkout">
+              <RemoveDir Directories="$(MSBuildProjectDirectory)\Test\Checkout" />
+              <SvnCheckout RepositoryPath="file:///d:/svn/repo/Test/trunk" 
+                           LocalPath="$(MSBuildProjectDirectory)\Test\Checkout">      
+                <Output TaskParameter="Revision" PropertyName="Revision" />
+              </SvnCheckout>
+              <Message Text="Revision: $(Revision)"/>
+            </Target>
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnCheckout.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:SvnCheckout"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnCheckout.ValidateParameters">
+            <summary>
+            Indicates whether all task paratmeters are valid.
+            </summary>
+            <returns>
+            true if all task parameters are valid; otherwise, false.
+            </returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Subversion.SvnCommit">
+            <summary>
+            Subversion Commit command
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnCommit.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:SvnCommit"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnCommit.ValidateParameters">
+            <summary>
+            Indicates whether all task paratmeters are valid.
+            </summary>
+            <returns>
+            true if all task parameters are valid; otherwise, false.
+            </returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Subversion.SvnExport">
+            <summary>
+            Export a folder from a Subversion repository
+            </summary>
+            <example> Export from repository
+            <code><![CDATA[
+            <Target Name="Export">
+              <MakeDir Directories="$(MSBuildProjectDirectory)\Test" />
+              <RemoveDir Directories="$(MSBuildProjectDirectory)\Test\Export" />
+              <SvnExport RepositoryPath="file:///d:/svn/repo/Test/trunk" 
+                LocalPath="$(MSBuildProjectDirectory)\Test\Export">
+                <Output TaskParameter="Revision" PropertyName="Revision" />
+              </SvnExport>
+              <Message Text="Revision: $(Revision)"/>
+            </Target>
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnExport.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:SvnExport"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnExport.ValidateParameters">
+            <summary>
+            Indicates whether all task paratmeters are valid.
+            </summary>
+            <returns>
+            true if all task parameters are valid; otherwise, false.
+            </returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Subversion.SvnVersion">
+            <summary>
+            Summarize the local revision(s) of a working copy.
+            </summary>
+            <example>The following example gets the revision of the current folder.
+            <code><![CDATA[
+            <Target Name="Version">
+              <SvnVersion LocalPath=".">
+                <Output TaskParameter="Revision" PropertyName="Revision" />
+              </SvnVersion>
+              <Message Text="Revision: $(Revision)"/>
+            </Target>
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnVersion.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:SvnVersion"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnVersion.GenerateFullPathToTool">
+            <summary>
+            Returns the fully qualified path to the executable file.
+            </summary>
+            <returns>
+            The fully qualified path to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnVersion.LogToolCommand(System.String)">
+            <summary>
+            Logs the starting point of the run to all registered loggers.
+            </summary>
+            <param name="message">A descriptive message to provide loggers, usually the command line and switches.</param>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnVersion.GenerateCommandLineCommands">
+            <summary>
+            Returns a string value containing the command line arguments to pass directly to the executable file.
+            </summary>
+            <returns>
+            A string value containing the command line arguments to pass directly to the executable file.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnVersion.Execute">
+            <summary>
+            Runs the exectuable file with the specified task parameters.
+            </summary>
+            <returns>
+            true if the task runs successfully; otherwise, false.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnVersion.LogEventsFromTextOutput(System.String,Microsoft.Build.Framework.MessageImportance)">
+            <summary>
+            Logs the events from text output.
+            </summary>
+            <param name="singleLine">The single line.</param>
+            <param name="messageImportance">The message importance.</param>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnVersion.LocalPath">
+            <summary>Path to local working copy.</summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnVersion.UseLastCommittedRevision">
+            <summary>
+            Specifies whether to use the last committed revision number as
+            opposed to the last updated revision number.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnVersion.Revision">
+            <summary>Revision number of the local working repository.</summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnVersion.HighRevision">
+            <summary>High revision number of the local working repository revision range.</summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnVersion.LowRevision">
+            <summary>Low revision number of the local working repository revision range.</summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnVersion.Modifications">
+            <summary>True if working copy contains modifications.</summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnVersion.Switched">
+            <summary>True if working copy is switched.</summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnVersion.Exported">
+            <summary>
+            True if invoked on a directory that is not a working copy, 
+            svnversion assumes it is an exported working copy and prints "exported".
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnVersion.StandardOutputLoggingImportance">
+            <summary>
+            Gets the <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.
+            </summary>
+            <value></value>
+            <returns>The <see cref="T:Microsoft.Build.Framework.MessageImportance"></see> with which to log errors.</returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Subversion.SvnVersion.ToolName">
+            <summary>
+            Gets the name of the executable file to run.
+            </summary>
+            <value></value>
+            <returns>The name of the executable file to run.</returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Subversion.SvnUpdate">
+            <summary>
+            Subversion Update command
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnUpdate.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:SvnUpdate"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Subversion.SvnUpdate.ValidateParameters">
+            <summary>
+            Indicates whether all task paratmeters are valid.
+            </summary>
+            <returns>
+            true if all task parameters are valid; otherwise, false.
+            </returns>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Unzip">
+            <summary>
+            Unzip a file to a target directory.
+            </summary>
+            <example>Unzip file tasks
+            <code><![CDATA[
+            <Unzip ZipFileName="MSBuild.Community.Tasks.zip" 
+                TargetDirectory="Backup"/>
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Unzip.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Unzip"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Unzip.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Unzip.ZipFileName">
+            <summary>
+            Gets or sets the name of the zip file.
+            </summary>
+            <value>The name of the zip file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Unzip.TargetDirectory">
+            <summary>
+            Gets or sets the target directory.
+            </summary>
+            <value>The target directory.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Unzip.Overwrite">
+            <summary>
+            Gets or sets a value indicating whether to overwrite any existing files on extraction. Defaults to <c>true</c>.
+            </summary>
+            <value><c>true</c> to overwrite any existing files on extraction; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Unzip.Quiet">
+            <summary>
+            Gets or sets a value indicating whether to output less information. Defaults to <c>false</c>.
+            </summary>
+            <value><c>false</c> to output a message for every file extracted; otherwise, <c>true</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Unzip.ExtractedFiles">
+            <summary>
+            Gets the files extracted from the zip.
+            </summary>
+            <value>The files extracted from the zip.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Version">
+            <summary>
+            Generates version information based on various algorithms
+            </summary>
+            <example>Get version information from file and increment revision.
+            <code><![CDATA[
+            <Version VersionFile="number.txt" BuildType="Automatic" RevisionType="Increment">
+                <Output TaskParameter="Major" PropertyName="Major" />
+                <Output TaskParameter="Minor" PropertyName="Minor" />
+                <Output TaskParameter="Build" PropertyName="Build" />
+                <Output TaskParameter="Revision" PropertyName="Revision" />
+            </Version>
+            <Message Text="Version: $(Major).$(Minor).$(Build).$(Revision)"/>
+            ]]></code>
+            </example>
+            <example>Specify Major and Minor version information and generate Build and Revision.
+            <code><![CDATA[
+            <Version BuildType="Automatic" RevisionType="Automatic" Major="1" Minor="3" >
+                <Output TaskParameter="Major" PropertyName="Major" />
+                <Output TaskParameter="Minor" PropertyName="Minor" />
+                <Output TaskParameter="Build" PropertyName="Build" />
+                <Output TaskParameter="Revision" PropertyName="Revision" />
+            </Version>
+            <Message Text="Version: $(Major).$(Minor).$(Build).$(Revision)"/>
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Version.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Version"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Version.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Version.Major">
+            <summary>
+            Gets or sets the major version number.
+            </summary>
+            <value>The major version number.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Version.Minor">
+            <summary>
+            Gets or sets the minor version number.
+            </summary>
+            <value>The minor version number.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Version.Build">
+            <summary>
+            Gets or sets the build version number.
+            </summary>
+            <seealso cref="P:MSBuild.Community.Tasks.Version.BuildType"/>
+            <value>The build version number.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Version.Revision">
+            <summary>
+            Gets or sets the revision version number.
+            </summary>
+            <seealso cref="P:MSBuild.Community.Tasks.Version.RevisionType"/>
+            <value>The revision version number.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Version.VersionFile">
+            <summary>
+            Gets or sets the file used to initialize and persist the version.
+            </summary>
+            <value>The version file.</value>
+            <remarks>
+            When specified, the task will attempt to load the previous version information from the file.
+            After updating the version, the new value will be saved to the file.
+            <para>
+            If you do not specify a value for this property, the version will be calculated
+            based on the values passed to the <see cref="P:MSBuild.Community.Tasks.Version.Major"/>, <see cref="P:MSBuild.Community.Tasks.Version.Minor"/>,
+            <see cref="P:MSBuild.Community.Tasks.Version.Build"/>, and <see cref="P:MSBuild.Community.Tasks.Version.Revision"/> properties. The new version will not be persisted.</para></remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Version.MajorType">
+            <summary>
+            Gets or sets the method used to generate a <see cref="P:MSBuild.Community.Tasks.Version.Major"/> number
+            </summary>
+            <remarks>
+            If value is not provided, None is assumed.
+            The <see cref="P:MSBuild.Community.Tasks.Version.Major"/> number is set according to the following table:
+            <list type="table">
+            <listheader><term>MajorType</term><description>Description</description></listheader>
+            <item><term>None</term><description>The number is not modified.</description></item>
+            <item><term>Increment</term><description>Increases the previous <see cref="P:MSBuild.Community.Tasks.Version.Major"/> value by 1.</description></item>
+            </list>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Version.MinorType">
+            <summary>
+            Gets or sets the method used to generate a <see cref="P:MSBuild.Community.Tasks.Version.Minor"/> number
+            </summary>
+            <remarks>
+            If value is not provided, None is assumed.
+            The <see cref="P:MSBuild.Community.Tasks.Version.Minor"/> number is set according to the following table:
+            <list type="table">
+            <listheader><term>MinorType</term><description>Description</description></listheader>
+            <item><term>None</term><description>The number is not modified.</description></item>
+            <item><term>Increment</term><description>Increases the previous <see cref="P:MSBuild.Community.Tasks.Version.Minor"/> value by 1.</description></item>
+            <item><term>Reset</term><description>Resets the previous <see cref="P:MSBuild.Community.Tasks.Version.Minor"/> value to 0.</description></item>
+            </list>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Version.BuildType">
+            <summary>
+            Gets or sets the method used to generate a <see cref="P:MSBuild.Community.Tasks.Version.Build"/> number
+            </summary>
+            <remarks>
+            If value is not provided, None is assumed.
+            The <see cref="P:MSBuild.Community.Tasks.Version.Build"/> number is set according to the following table:
+            <list type="table">
+            <listheader><term>BuildType</term><description>Description</description></listheader>
+            <item><term>None</term><description>The number is not modified.</description></item>
+            <item><term>Automatic</term><description>The number of days since <see cref="P:MSBuild.Community.Tasks.Version.StartDate"/>.</description></item>
+            <item><term>Increment</term><description>Increases the previous <see cref="P:MSBuild.Community.Tasks.Version.Build"/> value by 1.</description></item>
+            <item><term>Reset</term><description>Resets the previous <see cref="P:MSBuild.Community.Tasks.Version.Build"/> value to 0.</description></item>
+            </list>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Version.RevisionType">
+            <summary>
+            Gets or sets the method used to generate a <see cref="P:MSBuild.Community.Tasks.Version.Revision"/> number
+            </summary>
+            <remarks>
+            If value is not provided, None is assumed.
+            The <see cref="P:MSBuild.Community.Tasks.Version.Revision"/> number is set according to the following table:
+            <list type="table">
+            <listheader><term>RevisionType</term><description>Description</description></listheader>
+            <item><term>None</term><description>The number is not modified.</description></item>
+            <item><term>Automatic</term><description>A number that starts at 0 at midnight, and constantly increases throughout the day (changing roughly every 1.3 seconds). Guaranteed to be safe for components of the AssemblyVersion attribute.</description></item>
+            <item><term>Increment</term><description>Increases the previous <see cref="P:MSBuild.Community.Tasks.Version.Revision"/> value by 1.</description></item>
+            <item><term>BuildIncrement</term><description>Increases the previous <see cref="P:MSBuild.Community.Tasks.Version.Revision"/> value by 1 when the value of <see cref="P:MSBuild.Community.Tasks.Version.Build"/> is unchanged. If the value of <see cref="P:MSBuild.Community.Tasks.Version.Build"/> has changed, <see cref="P:MSBuild.Community.Tasks.Version.Revision"/> is reset to 0.</description></item>
+            <item><term>Reset</term><description>Resets the previous <see cref="P:MSBuild.Community.Tasks.Version.Revision"/> value to 0.</description></item>
+            </list>
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Version.StartDate">
+            <summary>
+            Gets or sets the starting date used to calculate the <see cref="P:MSBuild.Community.Tasks.Version.Build"/> number when <see cref="P:MSBuild.Community.Tasks.Version.BuildType"/> is Automatic.
+            </summary>
+            <value>The starting date for calculation of the build number.</value>
+            <remarks>
+            This value is only used when the <see cref="P:MSBuild.Community.Tasks.Version.BuildType"/> is Automatic.
+            <para>This default value is January 1, 2000.</para>
+            </remarks>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.WebDownload">
+            <summary>
+            Downloads a resource with the specified URI to a local file. 
+            </summary>
+            <example>Download the Microsoft.com home page.
+            <code><![CDATA[
+            <WebDownload FileUri="http://www.microsoft.com/default.aspx" 
+                FileName="microsoft.html" />
+            ]]></code>
+            </example>
+            <example>Download a page from your local intranet protected by Windows Authentication
+            <code><![CDATA[
+            <WebDownload FileUri="http://intranet/default.aspx" FileName="page.html" UseDefaultCredentials="True" />
+            ]]></code>
+            </example>
+            <example>Download a page from a password protected website
+            <code><![CDATA[
+            <WebDownload FileUri="http://example.com/myscore.aspx" FileName="page.html" Username="joeuser" Password="password123" />
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.WebDownload.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.WebDownload.GetConfiguredCredentials">
+            <summary>
+            Determines which credentials to pass with the web request
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.WebDownload.FileName">
+            <summary>
+            Gets or sets the name of the local file that is to receive the data.
+            </summary>
+            <value>The name of the file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.WebDownload.FileUri">
+            <summary>
+            Gets or sets the URI from which to download data.
+            </summary>
+            <value>The file URI.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.WebDownload.UseDefaultCredentials">
+            <summary>
+            When true, the current user's credentials are used to authenticate against the remote web server
+            </summary>
+            <remarks>
+            This value is ignored if the <see cref="P:MSBuild.Community.Tasks.WebDownload.Username"/> property is set to a non-empty value.</remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.WebDownload.Username">
+            <summary>
+            The username used to authenticate against the remote web server
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.WebDownload.Password">
+            <summary>
+            The password used to authenticate against the remote web server. A value for <see cref="P:MSBuild.Community.Tasks.WebDownload.Username"/> must also be provided.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.WebDownload.Domain">
+            <summary>
+            The domain of the user being used to authenticate against the remote web server. A value for <see cref="P:MSBuild.Community.Tasks.WebDownload.Username"/> must also be provided.
+            </summary>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.XmlRead">
+            <summary>
+            Reads a value from a XML document using a XPath.
+            </summary>
+            <example>Read all targest from a build project.
+            <code><![CDATA[
+            <XmlRead Prefix="n"
+                Namespace="http://schemas.microsoft.com/developer/msbuild/2003" 
+                XPath="/n:Project/n:Target/@Name"
+                XmlFileName="Subversion.proj">
+                <Output TaskParameter="Value" PropertyName="BuildTargets" />
+            </XmlRead>
+            <Message Text="Build Targets: $(BuildTargets)"/>
+            ]]></code>
+            </example>
+            <remarks>
+            If the XPath returns multiple nodes, the Value will 
+            be a semicolon delimited list of the nodes text.
+            </remarks>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.XmlRead.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:XmlRead"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.XmlRead.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.XmlRead.XmlFileName">
+            <summary>
+            Gets or sets the name of the XML file.
+            </summary>
+            <value>The name of the XML file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.XmlRead.XPath">
+            <summary>
+            Gets or sets the XPath.
+            </summary>
+            <value>The XPath.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.XmlRead.Value">
+            <summary>
+            Gets the value read from file.
+            </summary>
+            <value>The value.</value>
+            <remarks>
+            If the XPath returns multiple nodes, the values will be semicolon delimited.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.XmlRead.Namespace">
+            <summary>
+            Gets or sets the default namespace.
+            </summary>
+            <value>The namespace.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.XmlRead.Prefix">
+            <summary>
+            Gets or sets the prefix to associate with the namespace being added.
+            </summary>
+            <value>The namespace prefix.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.XmlUpdate">
+            <summary>
+            Updates a XML document using a XPath.
+            </summary>
+            <example>Update a XML element.
+            <code><![CDATA[
+            <XmlUpdate Prefix="n"
+                Namespace="http://schemas.microsoft.com/developer/msbuild/2003" 
+                XPath="/n:Project/n:PropertyGroup/n:TestUpdate"
+                XmlFileName="Subversion.proj"
+                Value="Test from $(MSBuildProjectFile)"/>
+            ]]></code>
+            </example>
+            <remarks>
+            The XML node being updated must exist before using the XmlUpdate task.
+            </remarks>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.XmlUpdate.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:XmlUpdate"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.XmlUpdate.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.XmlUpdate.XmlFileName">
+            <summary>
+            Gets or sets the name of the XML file.
+            </summary>
+            <value>The name of the XML file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.XmlUpdate.XPath">
+            <summary>
+            Gets or sets the XPath.
+            </summary>
+            <value>The XPath.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.XmlUpdate.Value">
+            <summary>
+            Gets or sets the value to write.
+            </summary>
+            <value>The value.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.XmlUpdate.Delete">
+            <summary>
+            Gets or sets a value indicating whether the matched node is deleted.
+            </summary>
+            <value><c>true</c> to delete matched node; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.XmlUpdate.Namespace">
+            <summary>
+            Gets or sets the default namespace.
+            </summary>
+            <value>The namespace.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.XmlUpdate.Prefix">
+            <summary>
+            Gets or sets the prefix to associate with the namespace being added.
+            </summary>
+            <value>The namespace prefix.</value>
+        </member>
+        <member name="T:MSBuild.Community.Tasks.Zip">
+            <summary>
+            Create a zip file with the files specified.
+            </summary>
+            <example>Create a zip file
+            <code><![CDATA[
+            <ItemGroup>
+                <ZipFiles Include="**\*.*" Exclude="*.zip" />
+            </ItemGroup>
+            <Target Name="Zip">
+                <Zip Files="@(ZipFiles)" 
+                    ZipFileName="MSBuild.Community.Tasks.zip" />
+            </Target>
+            ]]></code>
+            Create a zip file using a working directory.
+            <code><![CDATA[
+            <ItemGroup>
+                <RepoFiles Include="D:\svn\repo\**\*.*" />
+            </ItemGroup>
+            <Target Name="Zip">
+                <Zip Files="@(RepoFiles)" 
+                    WorkingDirectory="D:\svn\repo" 
+                    ZipFileName="D:\svn\repo.zip" />
+            </Target>
+            ]]></code>
+            </example>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Zip.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:MSBuild.Community.Tasks.Zip"/> class.
+            </summary>
+        </member>
+        <member name="M:MSBuild.Community.Tasks.Zip.Execute">
+            <summary>
+            When overridden in a derived class, executes the task.
+            </summary>
+            <returns>
+            true if the task successfully executed; otherwise, false.
+            </returns>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Zip.ZipFileName">
+            <summary>
+            Gets or sets the name of the zip file.
+            </summary>
+            <value>The name of the zip file.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Zip.ZipLevel">
+            <summary>
+            Gets or sets the zip level. Default is 6.
+            </summary>
+            <value>The zip level.</value>
+            <remarks>0 - store only to 9 - means best compression</remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Zip.Zip64">
+            <summary>
+            Gets or sets whether to use ZIP64 extensions.
+            </summary>
+            <value><c>true</c> to use ZIP64 extensions when necessary; otherwise, <c>false</c>.</value>
+            <remarks>
+            When ZIP64 is specified, then ZIP64 extension is used when necessary.
+            For example, when a single entry exceeds 0xFFFFFFFF in size, or when the archive 
+            as a whole exceeds 0xFFFFFFFF in size, or when there are more than 65535 entries 
+            in an archive.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Zip.Files">
+            <summary>
+            Gets or sets the files to zip.
+            </summary>
+            <value>The files to zip.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Zip.Flatten">
+            <summary>
+            Gets or sets a value indicating whether this <see cref="T:MSBuild.Community.Tasks.Zip"/> is flatten.
+            </summary>
+            <value><c>true</c> if flatten; otherwise, <c>false</c>.</value>
+            <remarks>
+            Flattening the zip means that all directories will be removed 
+            and the files will be place at the root of the zip file
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Zip.Comment">
+            <summary>
+            Gets or sets the comment.
+            </summary>
+            <value>The comment.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Zip.WorkingDirectory">
+            <summary>
+            Gets or sets the working directory for the zip file.
+            </summary>
+            <value>The working directory.</value>
+            <remarks>
+            The working directory is the base of the zip file.  
+            All files will be made relative from the working directory.
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Zip.Password">
+            <summary>
+            Gets or sets the password.
+            </summary>
+            <value>The password.</value>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Zip.Encryption">
+            <summary>
+            Gets or sets the encryption algorithm.
+            </summary>
+            <value>The encryption algorithm.</value>
+            <remarks>
+            Possible values are None, PkzipWeak, WinZipAes128 and WinZipAes256
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Zip.ParallelCompression">
+            <summary>
+            Gets or sets whether parallel compression is used
+            </summary>
+            <value>Whether or not the files will be compressed in parallel.</value>
+            <remarks>
+            This is true by default
+            </remarks>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Zip.MinimalLogging">
+            <summary>
+            'Add' statement won't be logged with MinimalLogging enabled.
+            The default value for MinimalLogging is false.
+            </summary>
+        </member>
+        <member name="P:MSBuild.Community.Tasks.Zip.Quiet">
+            <summary>
+            Gets or sets a value indicating whether to output less information. Defaults to <c>false</c>.
+            </summary>
+            <value><c>false</c> to output a message for every file added to a zip; otherwise, <c>true</c>.</value>
+        </member>
+    </members>
+</doc>

+ 6786 - 6786
Renci.SshClient/Build/msbuild/MSBuild.Community.Tasks.xsd → build/msbuild/MSBuild.Community.Tasks.xsd

@@ -1,6787 +1,6787 @@
-<?xml version="1.0" encoding="utf-8"?>
-<xs:schema xmlns:msb="http://schemas.microsoft.com/developer/msbuild/2003" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/developer/msbuild/2003" xmlns:xs="http://www.w3.org/2001/XMLSchema">
-  <xs:include schemaLocation="Microsoft.Build.Commontypes.xsd" />
-  <xs:element name="InstallAspNet" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Installs and register script mappings for ASP.NET</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="ApplyScriptMaps" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The method used to determine if ASP.NET script mappings should be applied</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ClientScriptsOnly" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] When , the aspnet_client scripts will be installed. No script mappings will be updated.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="Path" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The web application that should have its script maps updated.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Recursive" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] When , script maps are applied recursively under .</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="Version" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The version of ASP.NET to install</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="AssemblyInfo" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Generates an AssemblyInfo files</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="AllowPartiallyTrustedCallers" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets whether to allow strong-named assemblies to be called by partially trusted code.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyCompany" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly company.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyConfiguration" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly configuration.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyCopyright" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly copyright.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyCulture" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly culture.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyDelaySign" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly delay sign value.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyDescription" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly description.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyFileVersion" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly file version.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyInformationalVersion" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly informational version.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyKeyFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly key file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyKeyName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly key name.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyProduct" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly product.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyTitle" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly title.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyTrademark" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly trademark.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyVersion" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly version.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CLSCompliant" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether [CLSCompliant].</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CodeLanguage" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the code language.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ComVisible" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether [COMVisible].</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="GenerateClass" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether to generate the ThisAssmebly class.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Guid" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the GUID.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="InternalsVisibleTo" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Makes it possible to make certain assemblies able to use constructs marked as internal.
-            Example might be setting this value to "UnitTests" assembly. The typical use case might 
-            be constructors in classes which shouldn't be available to other assemblies, but the unit
-            tests should be able to use them.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NeutralResourcesLanguage" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the neutral language which is used as a fallback language configuration 
-            if the locale on the computer isn't supported. Example is setting this to "en-US".</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="OutputFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the output file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SkipVerification" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly delay sign value.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="UltimateResourceFallbackLocation" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the ultimate resource fallback location.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="UnmanagedCode" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly delay sign value.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="Attrib" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Changes the attributes of files and/or directories</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Archive" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets file's archive status.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Compressed" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating file is compressed.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Directories" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the list of directories to change attributes on.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Encrypted" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating file is encrypted.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Files" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the list of files to change attributes on.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Hidden" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating file is hidden, and thus is not included in an ordinary directory listing.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Normal" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating file is normal and has no other attributes set.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ReadOnly" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating file is read-only.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="System" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating file is a system file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="Beep" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>A task to play the sound of a beep through the console speaker.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Duration" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the of the beep measured in milliseconds.
-            Defaults to 200 milliseconds.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Frequency" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the frequency of the beep, ranging from 37 to 32767 hertz.
-            Defaults to 800 hertz.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="Computer" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Provides information about the build computer.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="IPAddress" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the IP address of the build computer.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="IPAddressV4" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the IP v4 address of the build computer.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Name" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the host name of the build computer.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="OSPlatform" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the platform identifier of the build computer's operating system .</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="OSVersion" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the version number of the build computer's operating system.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="DeleteTree" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Delete a directory tree.  This task supports wild card directory selection.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="DeletedDirectories" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the deleted directories.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Directories" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the directories to be deleted.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Recursive" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is recursive.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="EmbedNativeResource" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>A task for embedded native resource.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="ResourceName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the resource name.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ResourcePath" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the resource path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ResourceType" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the resource type.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="TargetAssemblyPath" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the target assembly path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="FileUpdate" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Replace text in file(s) using a Regular Expression.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Encoding" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The character encoding used to read and write the file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Files" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the files to update.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="IgnoreCase" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value specifies case-insensitive matching. .</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Multiline" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value changing the meaning of ^ and $ so they match at the beginning and end, 
-            respectively, of any line, and not just the beginning and end of the entire string.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Regex" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the regex.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ReplacementCount" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the maximum number of times the replacement can occur.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ReplacementText" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the replacement text.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ReplacementTextEmpty" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets if replacement text is empty.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Singleline" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value changing the meaning of the dot (.) so it matches 
-            every character (instead of every character except \n).</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="WarnOnNoUpdate" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] When TRUE, a warning will be generated to show which file was not updated.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="FtpCreateRemoteDirectory" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>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.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="BufferSize" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the size of the data buffer.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LastReply" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets the last recieved FTP response over the client socket.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password to login.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Port" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the port number.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RemoteDirectory" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the remote directory to create.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServerHost" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the server host.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the username to login.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="FtpDirectoryExists" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Determ if a remote directory exists on a FTP server or not.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="BufferSize" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the size of the data buffer.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Exists" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets an indication whether the directory exists on the server.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LastReply" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets the last recieved FTP response over the client socket.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password to login.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Port" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the port number.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RemoteDirectory" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the remote directory to create.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServerHost" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the server host.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the username to login.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="FtpUploadDirectoryContent" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Uploads a full directory content to a remote directory.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="BufferSize" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the size of the data buffer.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LastReply" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets the last recieved FTP response over the client socket.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LocalDirectory" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the local directory that contains the content to upload.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password to login.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Port" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the port number.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Recursive" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether the subdirectories of the local directory should be created remotely and the content of these should also be uploaded.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RemoteDirectory" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the remote directory destination for the local files.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServerHost" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the server host.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the username to login.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="FtpUpload" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Uploads a group of files using File Transfer Protocol (FTP).</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="KeepAlive" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value that indicates whether to make a persistent connection to the Internet resource.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LocalFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the single file to upload.  Use
-            this or LocalFiles, but not both.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LocalFiles" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the local files to upload.  Use this
-            or LocalFile, but not both.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RemoteFiles" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the remote files to upload.
-            Each item in this list should have a corresponding item in LocalFiles.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RemoteUri" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the remote URI to upload.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Timeout" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the time-out value in milliseconds</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="UsePassive" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the behavior of a client application's data transfer process.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the username.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="FxCop" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Uses FxCop to analyse managed code assemblies and reports on
-            their design best-practice compliance.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="AnalysisReportFileName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Specifies the file name for the analysis report.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ApplyOutXsl" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Applies the XSL transformation specified in /outXsl to the 
-            analysis report before saving the file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ConsoleXslFileName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Specifies the XSL or XSLT file that contains a transformation to 
-            be applied to the analysis output before it is displayed in the console.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CustomDictionary" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Specifies the custom dictionary.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DependencyDirectories" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Specifies additional directories to search for assembly dependencies. 
-            FxCopCmd always searches the target assembly directory and the current 
-            working directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DirectOutputToConsole" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Directs analysis output to the console or to the 
-            Output window in Visual Studio .NET. By default, 
-            the XSL file FxCopConsoleOutput.xsl is applied to the 
-            output before it is displayed.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="FailOnError" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether the build should
-            fail if static code analysis reports errors. Defaults to 
-            true.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ImportFiles" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Specifies the name of an analysis report or project file to import. 
-            Any messages in the imported file that are marked as excluded are not 
-            included in the analysis results.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="IncludeSummaryReport" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Includes a summary report with the informational 
-            messages returned by FxCopCmd.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="OutputXslFileName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Specifies the XSL or XSLT file that is referenced by the 
-            xml-stylesheet processing instruction in the analysis report.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="PlatformDirectory" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Specifies the location of the version of Mscorlib.dll 
-            that was used when building the target assemblies if this 
-            version is not installed on the computer running FxCopCmd.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ProjectFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Specifies the filename of FxCop project file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RuleLibraries" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Specifies the filename(s) of FxCop rule assemblies</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Rules" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The list of rules to run</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SaveResults" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Saves the results of the analysis in the project file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SearchGac" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Tells FxCop to search the GAC for assembly references. This parameter was added in FxCop 1.35</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="TargetAssemblies" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Specifies the target assembly to analyze.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="TypeList" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Comma-separated list of type names to analyze.  This option disables 
-            analysis of assemblies, namespaces, and resources; only the specified 
-            types and their members are included in the analysis.  
-            Use the wildcard character '*' at the end of the name to select multiple types.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Verbose" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether the output is verbose.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="WorkingDirectory" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the working directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="GacUtil" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>MSBuild task to install and uninstall assemblies into the GAC</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Assemblies" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the assembly name or file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Command" type="msb:GacUtilCommandsType">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Failed" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the number of assemblies that failed to installed/uninstalled.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Force" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether to force reinstall of an assembly.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="IncludeRelatedFiles" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether related files are included when installing in GAC.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="InstalledNames" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the installed assembly names.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="InstalledPaths" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the installed assembly paths.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Quiet" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether warning messages are output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RelatedFileExtensions" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the related file extensions to copy when  is true.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Skipped" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the number of assemblies that were skipped during installed/uninstalled.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Successful" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the number of assemblies successfully installed/uninstalled.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:simpleType name="GacUtilCommandsType">
-    <xs:union memberTypes="msb:non_empty_string">
-      <xs:simpleType>
-        <xs:restriction base="xs:string">
-          <xs:enumeration value="Install">
-            <xs:annotation>
-              <xs:documentation>Install the list of assemblies into the GAC.</xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-          <xs:enumeration value="Uninstall">
-            <xs:annotation>
-              <xs:documentation>Uninstall the list of assembly names from the GAC.</xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:union>
-  </xs:simpleType>
-  <xs:element name="GetSolutionProjects" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Retrieves the list of Projects contained within a Visual Studio Solution (.sln) file</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Output" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] A list of the project files found in</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Solution" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Name of Solution to get Projects from</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="GitBranch" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>A task to get the name of the branch or tag of git repository</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Arguments" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the raw arguments to pass to the git command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Branch" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Return the branch or tag.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Command" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the command to run.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="LocalPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the local or working path for git command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="GitClient" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>A task for Git commands.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Arguments" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the raw arguments to pass to the git command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Command" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the command to run.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="LocalPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the local or working path for git command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="GitCommits" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>A task for git to retrieve the number of commits on a revision.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Arguments" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the raw arguments to pass to the git command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Command" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the command to run.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CommitsCount" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the commitscount.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="LocalPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the local or working path for git command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Revision" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the revision to get the total number of commits from. Default is HEAD.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="GitDescribe" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>A task for git to get the most current tag, commit count since tag, and commit hash.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Arguments" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the raw arguments to pass to the git command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Command" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the command to run.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CommitCount" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the number of commits in this branch since the last tag</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CommitHash" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the commit hash.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ErrorMessage" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Not active yet</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="LocalPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the local or working path for git command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SoftErrorMode" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] When true, any processing errors will push error status out into</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Tag" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the last tagname for this branch</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="GitPendingChanges" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>A task for git to detect if there are pending changes</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Arguments" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the raw arguments to pass to the git command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Command" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the command to run.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="HasPendingChanges" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets whether the working directory has pending changes.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LocalPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the local or working path for git command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="GitVersion" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>A task for git to get the current commit hash.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Arguments" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the raw arguments to pass to the git command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Command" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the command to run.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CommitHash" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the commit hash.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="LocalPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the local or working path for git command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Revision" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the revision to get the version from. Default is HEAD.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Short" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether to abbreviate to a shorter unique name.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="ChmCompiler" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Html Help 1x compiler task.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="ProjectFile" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the project file path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="HxCompiler" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>A Html Help 2.0 compiler task.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="LogFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the log file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoErrorMessages" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether no error messages will be output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoInfoMessages" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether no info messages will be output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoWarningMessages" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether no warning messages will be output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="OutputFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the output file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ProjectFile" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the project file path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ProjectRoot" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the project root.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="QuiteMode" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating quite mode.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="UncompileDirectory" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the uncompile directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="UncompileFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the uncompile file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="AppPoolController" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>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.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Action" type="msb:AppPoolControllerActionsType" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the application pool action.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ApplicationPoolName" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the name of the app pool.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="HostHeaderName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password for the account the task will run under.  This property
-            is needed if you specified a  for a remote machine.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServerName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the name of the server.  The default value is 'localhost'.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServerPort" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the server port.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the username for the account the task will run under.  This property
-            is needed if you specified a  for a remote machine.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:simpleType name="AppPoolControllerActionsType">
-    <xs:union memberTypes="msb:non_empty_string">
-      <xs:simpleType>
-        <xs:restriction base="xs:string">
-          <xs:enumeration value="Start">
-            <xs:annotation>
-              <xs:documentation>Start the applicaiton pool</xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-          <xs:enumeration value="Stop">
-            <xs:annotation>
-              <xs:documentation>Stop the applicaiton pool</xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-          <xs:enumeration value="Restart">
-            <xs:annotation>
-              <xs:documentation>Restart the applicaiton pool</xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-          <xs:enumeration value="Recycle">
-            <xs:annotation>
-              <xs:documentation>Recycle the applicaiton pool</xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:union>
-  </xs:simpleType>
-  <xs:element name="AppPoolCreate" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>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.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="ApplicationPoolName" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the name of the application pool.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AppPoolAutoStart" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The AppPoolAutoStart property indicates to the World Wide Web Publishing Service (WWW service)
-            to automatically start an application pool when the application pool is created or when IIS
-            is started, if the value of this property is set to true.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AppPoolIdentityType" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The AppPoolIdentityType property allows application pools to run as a specific user account:
-            
-            0 - The application pool runs as NT AUTHORITY\SYSTEM.
-            1 - The application pool runs as NT AUTHORITY\LOCAL SERVICE.
-            2 - The application pool runs as NT AUTHORITY\NETWORK SERVICE.
-            3 - The application pool runs as a specific user account, defined by the  property.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AppPoolQueueLength" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The AppPoolQueueLength property indicates to the Universal Listener how many requests
-            to queue up for an application pool before rejecting future requests. When the limit
-            for this property is exceeded, IIS rejects the additional requests with a 503 error.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AutoShutdownAppPoolExe" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The AutoShutdownAppPoolExe property specifies an executable to run when the World Wide Web
-            Publishing Service (WWW service) shuts down an application pool for rapid fail protection. You
-            can use the  property to send parameters to the executable.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AutoShutdownAppPoolParams" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The AutoShutdownAppPoolParams property specifies any command-line parameters for the executable that
-            is specified in the AutoShutdownAppPoolExe property. You can use these two properties in the following
-            way to send e-mail, for example, when the World Wide Web Publishing Service (WWW service) shuts down
-            an application pool for rapid fail protection:
-            
-            AutoShutdownAppPoolExe = "C:\LogAndSendMail.bat"
-            AutoShutdownAppPoolParams = "-AppPoolName %1%"
-            
-            where %1% represents the application pool name.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CPUAction" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The CPUAction property configures the action(s) that IIS takes when Microsoft Windows NT ® job objects
-            run. Only one Windows NT job object exists per application pool, therefore the CPUAction property
-            is configured on a per application pool basis.
-            
-            Possible values:
-            0 - No action is taken except that a warning is written to the event log when the CPU limit is exceeded.
-            1 - Application pool worker processes that exceed their CPU limit will be forced to shut down.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CPULimit" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The CPULimit property configures the maximum percentage of CPU resources that worker processes
-            in an application pool are allowed to consume over a period of time, as indicated by the
-             property. Set this property by specifying a percentage of CPU
-            usage, multiplied by 1000. For example, if you want the CPU usage limit to be 50%, set CPULimit to 50,000.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CPUResetInterval" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The CPUResetInterval property specifies the reset period (in minutes) for CPU monitoring and
-            throttling limits on the application pool. When the number of minutes elapsed since the last
-            process accounting reset equals the number specified by this property, IIS will reset the CPU
-            timers for both the logging and limit intervals. Setting the value of this property to 0
-            disables CPU monitoring.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DisallowOverlappingRotation" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The DisallowOverlappingRotation property specifies whether or not the World Wide Web Publishing
-            Service (WWW Service) should start up another worker process to replace the existing worker
-            process while it is shutting down.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DisallowRotationOnConfigChange" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The DisallowRotationOnConfigChange property specifies whether or not the World Wide Web Publishing
-            Service (WWW Service) should rotate worker processes in an application pool when the configuration
-            has changed. This means that the worker processes will not pick up application pool changes to
-            values passed to the worker process, such as  and .</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="HostHeaderName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="IdleTimeout" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The IdleTimeout property specifies how long (in minutes) a worker process should run idle if no new
-            requests are received and the worker process is not processing requests. After the allotted time
-            passes, the worker process should request to be shut down by the World Wide Web Publishing Service (WWW Service).</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LoadBalancerCapabilities" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The LoadBalancerCapabilities property specifies behavior when a service is unavailable. A setting of 1
-            terminates the connection. A setting of 2 sends error code 503.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LogEventOnRecycle" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The LogEventOnRecycle property specifies that IIS should log an event when an application pool is
-            recycled. Application pools recycle for a variety of reasons. In order for IIS to log the event, the
-            LogEventOnRecycle property must have a bit set corresponding to the reason for the recycle.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LogonMethod" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The LogonMethod property contains an integer that specifies the logon method for cleartext 
-            logons. Valid settings are:
-            
-            0 for interactive logon.
-            1 for batch logon.
-            2 for network logon.
-            3 for cleartext logon.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MaxProcesses" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The MaxProcesses property determines the maximum number of worker processes an application pool
-            allows to service requests for an application pool. This property cannot be set to 0 because there
-            are no unmanaged pools.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="OrphanActionExe" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The OrphanActionExe property specifies an executable to run when the World Wide Web Publishing
-            Service (WWW service) orphans a worker process. You can use the  property
-            to send parameters to the executable.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="OrphanActionParams" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The OrphanActionParams property specifies command-line parameters for the executable
-            specified by the  property.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="OrphanWorkerProcess" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The OrphanWorkerProcess property, when set to true, notifies the World Wide Web Publishing
-            Service (WWW Service) not to terminate a worker process that fails to respond to pings, but
-            to instead orphan the worker process in the application pool if the worker process suffers
-            fatal errors.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password for the account the task will run under.  This property
-            is needed if you specified a  for a remote machine.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="PeriodicRestartMemory" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The PeriodicRestartMemory property specifies the amount of virtual memory (in KB) that a
-            worker process can use before the worker process recycles. The maximum value supported
-            for this property is 4,294,967 KB.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="PeriodicRestartPrivateMemory" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The PeriodicRestartPrivateMemory property specifies the amount of private memory (in KB) that a
-            worker process can use before the worker process recycles. The maximum value supported
-            for this property is 4,294,967 KB.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="PeriodicRestartRequests" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The PeriodicRestartRequests property indicates the number of requests the OOP application
-            should process, after which it is recycled.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="PeriodicRestartSchedule" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The PeriodicRestartSchedule property specifies the time (in 24 hour format) that the application
-            will be rotated. Each time is in local time and is specified in the following format:
-            
-            PeriodicRestartSchedule="hh:mm,hh:mm,hh:mm"</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="PeriodicRestartTime" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The PeriodicRestartTime property specifies the period of time, in minutes, after which IIS
-            rotates an isolated OOP application. Setting the value of this property to 0 disables the
-            property. The maximum supported value for this property is 71,582.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="PingingEnabled" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The PingingEnabled property specifies whether the World Wide Web Publishing Service
-            (WWW Service) should periodically monitor the health of a worker process. Setting the
-            value of this property to true indicates to the WWW service to monitor the worker
-            processes to ensure that the they are running and healthy.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="PingInterval" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The PingInterval property specifies the period of time (in seconds) between health-monitoring
-            pings that the World Wide Web Publishing Service (WWW Service) sends to a worker process.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="PingResponseTime" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The PingResponseTime property specifies the amount of time (in seconds) that a worker process
-            is given to respond to a health monitoring ping. After the time limit is exceeded, the World
-            Wide Web Publishing Service (WWW Service) terminates the worker process.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RapidFailProtection" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Setting the RapidFailProtection property to true instructs the World Wide Web Publishing
-            Service (WWW service) to put all applications in an application pool out of service if the
-            number of worker process crashes has reached the maximum specified by the
-             property, within the number of minutes specified
-            by the  property.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RapidFailProtectionInterval" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The RapidFailProtectionInterval property specifies the number of minutes before the failure
-            count for a process is reset. See .</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RapidFailProtectionMaxCrashes" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The RapidFailProtectionMaxCrashes property specifies the maximum number of failures
-            allowed within the number of minutes specified by the  
-            property. See .</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServerName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the name of the server.  The default value is 'localhost'.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServerPort" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the server port.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ShutdownTimeLimit" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The ShutdownTimeLimit property specifies the amount of time (in seconds) after a recycle
-            threshold has been reached that IIS waits for all old requests to finish running in a worker
-            process before terminating the worker process.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SMPAffinitized" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Setting the SMPAffinitized property to true indicates that a particular worker process
-            assigned to an application pool should be assigned to a given CPU. This property is used
-            in conjunction with the  property to configure a
-            particular processor a worker process will be assigned to.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SMPProcessorAffinityMask" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The SMPProcessorAffinityMask property configures the hexadecimal processor mask. The hexadecimal
-            processor mask indicates to which CPU the worker processes in an application pool should be
-            bound. Before this property takes affect, the  property must be set
-            to true for the application pool. These properties cannot be set through IIS Manager.
-            
-            Do not set this property to zero. Doing so causes no SMP affinity to be configured, creating an
-            error condition. The default DWORD value is 4294967295 (or -1), which is represented in hexadecimal
-            as 0xFFFFFFFF. A value of 0xFFFFFFFF in SMPProcessorAffinityMask indicates that all processors are enabled.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StartupTimeLimit" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The value of the StartupTimeLimit property specifies the amount of time (in seconds) that the World Wide
-            Web Publishing Service (WWW Service) should wait for a worker process to finish starting up and
-            reporting to the WWW Service.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the username for the account the task will run under.  This property
-            is needed if you specified a  for a remote machine.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="WAMUserName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The WAMUserName property specifies the account user name that IIS uses by default as the COM+
-            application identity for newly created IIS out-of-process applications. The values of this
-            property and its companion property, , are set when IIS is installed, and
-            match the user name and password values in the Microsoft Windows user account, which is established
-            at the same time. Changing the value of this property is not recommended. If you do, change
-            it to a valid Windows user account, and change WAMUserPass to the corresponding password
-            for the new account.
-            
-            Important:
-            Changes to WAMUserName and WAMUserPass may disrupt the operation of existing IIS out-of-process
-            applications. You can synchronize application identities using Component Services to edit the
-            user name and password values, found on the Identity tab of the property sheet for each package.
-            
-            In-process applications are not affected by these property values.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="WAMUserPass" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The WAMUserPass property specifies the password for the account that IIS uses by default as the COM+
-            application identity for newly created IIS out-of-process applications. The values of this property
-            and its companion property, , are set when IIS is installed, and match the
-            password and user name values in the Microsoft Windows user account (IWAM_ MachineName, where MachineName
-            is the name of the machine on which IIS is installed) established at the same time.
-            
-            Important:
-            Changing the value of this property is not recommended. If you do, you must change the Windows account
-            password to the identical value. You must also synchronize existing IIS out-of-process application
-            identities, using Component Services to edit the user name and password values, which are found on the
-            Identity tab of the property sheet for each package.
-            
-            In-process applications are not affected by these property values.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="AppPoolDelete" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>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.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="ApplicationPoolName" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the name of the application pool.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="HostHeaderName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password for the account the task will run under.  This property
-            is needed if you specified a  for a remote machine.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServerName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the name of the server.  The default value is 'localhost'.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServerPort" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the server port.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the username for the account the task will run under.  This property
-            is needed if you specified a  for a remote machine.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="WebDirectoryCreate" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>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.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="AccessExecute" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value that indicates if the file
-            or the contents of the folder may be executed, regardless of file type.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AccessNoRemoteExecute" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] A value of true indicates that remote requests to execute applications
-            are denied; only requests from the same computer as the IIS server succeed
-            if the AccessExecute property is set to true. You cannot set 
-            AccessNoRemoteExecute to false to enable remote requests, and set
-             to false to disable local requests.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AccessNoRemoteRead" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] A value of true indicates that remote requests to view files are denied; only
-            requests from the same computer as the IIS server succeed if the 
-            property is set to true. You cannot set  to false to enable
-            remote requests, and set  to false to disable local requests.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AccessNoRemoteScript" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] A value of true indicates that remote requests to view dynamic content are denied; only
-            requests from the same computer as the IIS server succeed if the  property
-            is set to true. You cannot set AccessNoRemoteScript to false to enable remote requests, 
-            and set  to false to disable local requests.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AccessNoRemoteWrite" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] A value of true indicates that remote requests to create or change files are denied; only
-            requests from the same computer as the IIS server succeed if the  property
-            is set to true. You cannot set AccessNoRemoteWrite to false to enable remote requests, 
-            and set  to false to disable local requests.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AccessRead" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] A value of true indicates that the file or the contents of the folder may be read
-            through Microsoft Internet Explorer.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AccessScript" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] A value of true indicates that the file or the contents of the folder may be executed
-            if they are script files or static content. A value of false only allows static files, 
-            such as HTML files, to be served.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AccessSource" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] A value of true indicates that users are allowed to access source code if either
-            Read or Write permissions are set. Source code includes scripts in Microsoft ® Active
-            Server Pages (ASP) applications.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AccessSsl" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] A value of true indicates that file access requires SSL file permission processing, with
-            or without a client certificate.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AccessSsl128" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] A value of true indicates that file access requires SSL file permission processing
-            with a minimum key size of 128 bits, with or without a client certificate.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AccessSslMapCert" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] A value of true indicates that SSL file permission processing maps a client certificate
-            to a Microsoft Windows ® operating system user-account. The  property
-            must also be set to true for the mapping to occur.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AccessSslNegotiateCert" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] A value of true indicates that SSL file access processing requests a certificate from
-            the client. A value of false indicates that access continues if the client does not have
-            a certificate. Some versions of Internet Explorer will close the connection if the server
-            requests a certificate and a certificate is not available (even if  
-            is also set to true).</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AccessSslRequireCert" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] A value of true indicates that SSL file access processing requests a certificate from the
-            client. If the client provides no certificate, the connection is closed.  
-            must also be set to true when using AccessSSLRequireCert.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AccessWrite" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] A value of true indicates that users are allowed to upload files and their associated
-            properties to the enabled directory on your server or to change content in a Write-enabled
-            file. Write can be implemented only with a browser that supports the PUT feature of
-            the HTTP 1.1 protocol standard.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AnonymousPasswordSync" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The AnonymousPasswordSync property indicates whether IIS should handle the user password
-            for anonymous users attempting to access resources.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AppAllowClientDebug" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The AppAllowClientDebug property specifies whether ASP client-side debugging
-            is enabled. This property is independent of , which
-            applies to server-side debugging.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AppAllowDebugging" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The AppAllowDebugging property specifies whether ASP debugging is enabled on
-            the server. This property is independent of the  property, 
-            which applies to client-side debugging.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AspAllowSessionState" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The AspAllowSessionState property enables session state persistence for the ASP application.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AspBufferingOn" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The AspBufferingOn property specifies whether output from an ASP application will be buffered.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AspEnableApplicationRestart" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The AspEnableApplicationRestart determines whether an ASP application can be
-            automatically restarted. When changes are made to Global.asa or metabase properties
-            that affect an application, the application will not restart unless the
-            AspEnableApplicationRestart property is set to true.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AspEnableAspHtmlFallback" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The AspEnableAspHtmlFallback property controls the behavior of ASP when a
-            new request is to be rejected due to a full request queue.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AspEnableChunkedEncoding" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The AspEnableChunkedEncoding property specifies whether HTTP 1.1 chunked
-            transfer encoding is enabled for the World Wide Web Publishing Service (WWW service).</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AspEnableParentPaths" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The AspEnableParentPaths property specifies whether an ASP page allows paths
-            relative to the current directory (using the ..\ notation) or above the current directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AspEnableTypelibCache" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The AspEnableTypelibCache property specifies whether type libraries are cached
-            on the server. The World Wide Web Publishing Service (WWW service) setting for
-            this property is applicable to all in-process and pooled out-of-process application
-            nodes, at all levels. Metabase settings at the Web server level or lower are ignored
-            for in-process and pooled out-of-process applications. However, settings at the Web
-            server level or lower are used if that node is an isolated out-of-process application.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AspErrorsToNTLog" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The AspErrorsToNTLog property specifies which ASP errors are written to the
-            Windows event log. ASP errors are written to the client browser and to the IIS
-            log files by default.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AspExceptionCatchEnable" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The AspExceptionCatchEnable property specifies whether ASP pages trap exceptions
-            thrown by components.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AspLogErrorRequests" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The AspLogErrorRequests property controls whether the Web server writes ASP errors
-            to the application section of the Windows event log. ASP errors are written to the
-            client browser and to the IIS log files by default.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AspScriptErrorMessage" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The AspScriptErrorMessage property specifies the error message to send to the browser
-            if specific debugging errors are not sent to the client (if  
-            is set to false).</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AspScriptErrorSentToBrowser" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The AspScriptErrorSentToBrowser property specifies whether the Web server writes
-            debugging specifics (file name, error, line number, description) to the client
-            browser, in addition to logging them to the Windows Event Log. The  
-            property provides the error message to be sent if this property is set to false.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AspTrackThreadingModel" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The AspTrackThreadingModel property specifies whether IIS checks the threading model
-            of any components (COM objects) that your application creates. The preferred setting
-            of this metabase property is false.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AuthAnonymous" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Specifies Anonymous authentication as one of the possible Windows authentication
-            schemes returned to clients as being available.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AuthBasic" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Specifies Basic authentication as one of the possible Windows authentication
-            schemes returned to clients as being available.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AuthNtlm" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Specifies Integrated Windows authentication (also known as Challenge/Response or
-            NTLM authentication) as one of the possible Windows authentication schemes
-            returned to clients as being available.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AuthPersistSingleRequest" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Setting this flag to true specifies that authentication persists only for a single
-            request on a connection. IIS resets the authentication at the end of each request, and
-            forces re-authentication on the next request of the session.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AuthPersistSingleRequestAlwaysIfProxy" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Setting this flag to true specifies that authentication is valid for a single request if
-            by proxy. IIS will reset the authentication at the end of the request and force
-            re-authentication on the next request if the current authenticated request is by
-            proxy of any type.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AuthPersistSingleRequestIfProxy" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Setting this flag to true specifies authentication will persist only across single
-            requests on a connection if the connection is by proxy. IIS will reset the authentication
-            at the end of the request if the current authenticated request is by proxy and it is
-            not the special case where IIS is running MSPROXY.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CacheControlNoCache" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The CacheControlNoCache property specifies the HTTP 1.1 directive to prevent caching of content.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CacheIsapi" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The CacheISAPI property indicates whether ISAPI extensions are cached in memory after first use.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ContentIndexed" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The ContentIndexed property specifies whether the installed content indexer should
-            index content under this directory tree.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CpuAppEnabled" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] This property specifies whether process accounting and throttling should be performed
-            for ISAPI extensions and ASP applications. To perform process accounting on CGI
-            applications, use the property .</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CpuCgiEnabled" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] This property indicates whether IIS should perform process accounting for CGI
-            applications. To effectively throttle CGI applications, use the CgiTimeout
-            property. To use process accounting for ISAPI and ASP applications, use .</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CreateCgiWithNewConsole" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The CreateCGIWithNewConsole property indicates whether a CGI application runs in its own console.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CreateProcessAsUser" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The CreateProcessAsUser property specifies whether a CGI process is created in the system context or in the context of the requesting user.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DefaultDoc" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The DefaultDoc contains one or more file names of default documents that will be returned
-            to the client if no file name is included in the client's request. The default document
-            will be returned if the  flag of the DirBrowseFlags property
-            is set to true for the directory. This property can contain a list of default document
-            file names separated by a comma and a space, for example Default.htm, Default.asp.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DirBrowseShowDate" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] When set to true, date information is displayed when browsing directories.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DirBrowseShowExtension" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] When set to true, file name extensions are displayed when browsing directories.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DirBrowseShowLongDate" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] When set to true, date information is displayed in extended format when displaying directories.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DirBrowseShowSize" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] When set to true, file size information is displayed when browsing directories.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DirBrowseShowTime" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] When set to true, file time information is displayed when displaying directories.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DontLog" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The DontLog property specifies whether client requests are written to the IIS log files.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="EnableDefaultDoc" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] When set to true, the default document (specified by the  property) for
-            a directory is loaded when the directory is browsed.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="EnableDirBrowsing" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] When set to true, directory browsing is enabled.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="EnableDocFooter" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The EnableDocFooter property enables or disables custom footers specified by
-            the DefaultDocFooter property.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="EnableReverseDns" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The EnableReverseDns property enables or disables reverse Domain Name Server (DNS) lookups
-            for the World Wide Web Publishing Service (WWW service). Reverse lookups involve looking
-            up the domain name when the IP address is known. Reverse DNS lookups can use significant
-            resources and time.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="HostHeaderName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password for the account the task will run under.  This property
-            is needed if you specified a  for a remote machine.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServerName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the name of the server.  The default value is 'localhost'.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServerPort" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the server port.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SsiExecDisable" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The SSIExecDisable property specifies whether server-side include (SSI) #exec directives
-            are disabled under this path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="UncAuthenticationPassthrough" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The UNCAuthenticationPassthrough property enables user authentication passthrough
-            for Universal Naming Convention (UNC) virtual root access (for authentication schemes
-            that support delegation).</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the username for the account the task will run under.  This property
-            is needed if you specified a  for a remote machine.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="VirtualDirectoryName" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the name of the virtual directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="VirtualDirectoryPhysicalPath" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the virtual directory physical path.  The physical directory must
-            exist before this task executes.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="WebDirectoryDelete" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>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.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="HostHeaderName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password for the account the task will run under.  This property
-            is needed if you specified a  for a remote machine.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServerName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the name of the server.  The default value is 'localhost'.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServerPort" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the server port.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the username for the account the task will run under.  This property
-            is needed if you specified a  for a remote machine.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="VirtualDirectoryName" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the name of the virtual directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="WebDirectoryScriptMap" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Sets an application mapping for a filename extension on an existing web directory.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="EnableScriptEngine" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Set to true when you want the application to run in a directory without Execute permissions.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExecutablePath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The full path to the executable used to respond to requests for a Uri ending with</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Extension" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>The filename extension that will be mapped to an executable.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="HostHeaderName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MapToAspNet" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Indicates whether  should be mapped to the ASP.NET runtime.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password for the account the task will run under.  This property
-            is needed if you specified a  for a remote machine.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServerName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the name of the server.  The default value is 'localhost'.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServerPort" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the server port.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the username for the account the task will run under.  This property
-            is needed if you specified a  for a remote machine.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Verbs" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] A comma-separated list of the HTTP verbs to include in the application mapping.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="VerifyFileExists" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Set to true to instruct the Web server to verify the existence of the requested script file and to ensure that the requesting user has access permission for that script file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="VirtualDirectoryName" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the name of the virtual directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="WebDirectorySetting" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Reads and modifies a web directory configuration setting.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="HostHeaderName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password for the account the task will run under.  This property
-            is needed if you specified a  for a remote machine.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServerName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the name of the server.  The default value is 'localhost'.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServerPort" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the server port.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SettingName" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the configuration setting to read or modify.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SettingValue" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the value of  on the web directory</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the username for the account the task will run under.  This property
-            is needed if you specified a  for a remote machine.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="VirtualDirectoryName" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the name of the virtual directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="ILMerge" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>A wrapper for the ILMerge tool.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="AllowDuplicateTypes" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the names of public types
-            to be renamed when they are duplicates.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AllowZeroPeKind" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether to treat an assembly 
-            with a zero PeKind flag 
-            (this is the value of the field listed as .corflags in the Manifest)
-            as if it was ILonly.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AttributeFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the attribute assembly
-            from whre to get all of the assembly-level attributes
-            such as Culture, Version, etc.
-            It will also be used to get the Win32 Resources from.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Closed" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether 
-            to augment the list of input assemblies
-            to its "transitive closure".</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CopyAttributes" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether 
-            to copy the assembly level attributes
-            of each input assembly over into the target assembly.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DebugInfo" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether 
-            to preserve any .pdb files
-            that are found for the input assemblies
-            into a .pdb file for the target assembly.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DelaySign" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether 
-            the target assembly will be delay signed.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExcludeFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the file
-            that will be used to identify types
-            that are not to have their visibility modified.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="InputAssemblies" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the input assemblies to merge.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Internalize" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether whether types in assemblies other than the primary assembly have their visibility modified.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="KeyFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the .snk file
-            to sign the target assembly.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LogFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a log file
-            to write log messages to.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="OutputFile" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the target assembly.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="PublicKeyTokens" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether 
-            external assembly references in the manifest
-            of the target assembly will use public keys (false)
-            or public key tokens (true).</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SearchDirectories" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the directories to be used to search for input assemblies.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="TargetKind" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the indicator
-            whether the target assembly is created as a library (Dll),
-            a console application (Exe) or as a Windows application (WinExe).</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="TargetPlatformDirectory" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the directory in which mscorlib.dll is to be found.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="TargetPlatformVersion" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the .NET framework version for the target assembly.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="Version" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the version number of the target assembly.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="XmlDocumentation" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether 
-            to merge XML documentation files
-            into one for the target assembly.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="InnoSetup" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>MSBuild task to create installer with InnoSetup</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="OutputFileName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Specify output filename</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="OutputPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Specify output path</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Quiet" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Quiet compile</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ScriptFile" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Filename of Inno Setup script (.iss)</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="InstallAssembly" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Installs assemblies.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="AssemblyFiles" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The assemblies to process, identified by their filename.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyNames" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The assemblies to process, identified by their assembly name.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="LogFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The file to write installation progress to.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ShowCallStack" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] If an exception occurs at any point during installation, the call
-             stack will be printed to the log.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="UninstallAssembly" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Uninstalls assemblies.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="AssemblyFiles" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The assemblies to process, identified by their filename.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyNames" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The assemblies to process, identified by their assembly name.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="LogFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The file to write installation progress to.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ShowCallStack" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] If an exception occurs at any point during installation, the call
-             stack will be printed to the log.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="JSCompress" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>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.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="CompressedFiles" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the files that were successfully source-compressed.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Encoding" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Encoding to use to read and write files.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Files" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the files to source-compress.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="Mail" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Sends an email message</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Attachments" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] List of files to attach to message</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Bcc" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] List of addresss that contains the blind carbon copy (BCC) recipients for this e-mail message</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Body" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The email message body</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CC" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] List of addresss that contains the carbon copy (CC) recipients for this e-mail message</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="EnableSsl" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Specify whether the Mail task uses SSL to encrypt the connection.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="From" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>The from address for this e-mail message</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="IsBodyHtml" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] A value indicating whether the mail message body is in Html</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Priority" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The priority of this e-mail message</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SmtpServer" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>The name or IP address of the host used for SMTP transactions</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Subject" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>The subject line for this e-mail message</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="To" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>List of addresss that contains the recipients of this e-mail message</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the username.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="Add" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Add numbers</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Numbers" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the numbers to work with.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NumericFormat" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the numeric format.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Result" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the result.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="Divide" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Divide numbers</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Numbers" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the numbers to work with.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NumericFormat" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the numeric format.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Result" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the result.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="TruncateResult" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] When , uses integer division to truncate the result. Default is</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="Modulo" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Performs the modulo operation on numbers.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Numbers" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the numbers to work with.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NumericFormat" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the numeric format.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Result" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the result.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="Multiple" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Multiple numbers</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Numbers" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the numbers to work with.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NumericFormat" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the numeric format.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Result" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the result.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="Subtract" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Subtract numbers</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Numbers" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the numbers to work with.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NumericFormat" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the numeric format.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Result" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the result.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="Merge" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Merge files into the destination file.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="DestinationFile" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the destination file where the
-             are merged to.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Mode" type="msb:MergeModesType">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the mode to use when merging.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SourceFiles" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the source files to merge.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:simpleType name="MergeModesType">
-    <xs:union memberTypes="msb:non_empty_string">
-      <xs:simpleType>
-        <xs:restriction base="xs:string">
-          <xs:enumeration value="Binary">
-            <xs:annotation>
-              <xs:documentation>
-            Merges files as binary data.
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-          <xs:enumeration value="Text">
-            <xs:annotation>
-              <xs:documentation>
-            Merges files as text.
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-          <xs:enumeration value="TextLine">
-            <xs:annotation>
-              <xs:documentation>
-            Merges files as text line by line.
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:union>
-  </xs:simpleType>
-  <xs:element name="MV" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Moves files on the filesystem to a new location.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="DestinationFiles" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the list of files to moved the source files to.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DestinationFolder" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the directory to which you want to move the files.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MovedFiles" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the items that were successfully moved.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SourceFiles" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the source files to move.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="NDoc" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Runs the NDoc application.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Documenter" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the documenter.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="ProjectFilePath" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the project file path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="Verbose" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether the output is verbose.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="WorkingDirectory" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the working directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="HttpRequest" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Makes an HTTP request, optionally validating the result and writing it to a file.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="EnsureResponseContains" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Optional: if set then the task fails if the response text doesn't contain the text specified.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="FailOnNon2xxResponse" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Default is true.  When true, if the web server returns a status code less than 200 or greater than 299 then the task fails.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Method" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Optional, default is GET. The HTTP method to use for the request.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Optional. The password to use with basic authentication.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ReadRequestFrom" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Optional; the name of the file to reqd the request from.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Url" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>The URL to make an HTTP request against.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Optional. The username to use with basic authentication.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="WriteResponseTo" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Optional; the name of the file to write the response to.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="NuGetPack" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Creates a NuGet package based on the specified nuspec or project file.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="BasePath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The base path of the files defined in the nuspec file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="File" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>The location of the nuspec or project file to create a package.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="OutputDirectory" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Specifies the directory for the created NuGet package.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="OutputFilePath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] The full file path of the NuGet package created by the NuGetPack task</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Properties" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Provides the ability to specify a semicolon ";" delimited list of properties when creating a package.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Symbols" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Determines if a package containing sources and symbols should be created. When specified with a nuspec, 
-            creates a regular NuGet package file and the corresponding symbols package.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="Verbose" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Shows verbose output for package building.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Verbosity" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Display this amount of details in the output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Version" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Overrides the version number from the nuspec file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="WorkingDirectory" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the working directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="NuGetPush" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Pushes a package to the server and optionally publishes it.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="APIKey" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The API key to use for push to the server.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CreateOnly" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Specifies if the package should be created and uploaded to the server but not published to the server. False by default.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="File" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>The path to the package to push the package to the server.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Source" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Specifies the server URL.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="WorkingDirectory" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the working directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="NUnit" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Run NUnit 2.4 on a group of assemblies.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Assemblies" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the assemblies.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DisableShadowCopy" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Determines whether assemblies are copied to a shadow folder during testing.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ErrorOutputFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The file to receive test error details.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExcludeCategory" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the categories to exclude.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="Fixture" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the fixture.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Force32Bit" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Determines whether the tests are run in a 32bit process on a 64bit OS.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Framework" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Determines the framework to run aganist.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="IncludeCategory" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the categories to include.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="OutputXmlFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the output XML file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ProjectConfiguration" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The project configuration to run.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ShowLabels" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Whether or not to show test labels in output</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="TestInNewThread" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Allows tests to be run in a new thread, allowing you to take advantage of ApartmentState and ThreadPriority settings in the config file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="WorkingDirectory" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the working directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="XsltTransformFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the XSLT transform file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="AddTnsName" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Defines a database host within the Oracle TNSNAMES.ORA file.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="AllowUpdates" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] When true, the task will update an existing entry with . 
-            If false, the task will fail if  already exists.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="EntryName" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>The name of the host entry to add.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="EntryText" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The definition of the host entry to add.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ModifiedFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] The path to the TNSNAMES.ORA that was used by task.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ModifiedFileText" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] The contents of the TNSNAMES.ORA file after the task executes.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="OriginalFileText" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] The contents of the TNSNAMES.ORA file before any changes are made.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="TnsNamesFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The path to a specific TNSNAMES.ORA file to update.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="Prompt" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Displays a message on the console and waits for user input.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Text" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The message to display in the console.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="UserInput" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] The text entered at the console.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="RegexCompiler" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Compiles regular expressions and saves them to disk in an assembly.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="AssemblyCompany" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly company.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyCopyright" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly copyright.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyCulture" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly culture.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyDescription" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly description.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyFileVersion" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly file version.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyInformationalVersion" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly informational version.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyKeyFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly key file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyName" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the name of the assembly to be created by the regex compiler.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyProduct" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly product.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyTitle" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly title.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AssemblyVersion" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the assembly version.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="IsPublic" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether the default value is public for regular expression instances.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Namespace" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the default namespace for regular expression instances.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Options" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the default regular expression options.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="OutputDirectory" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the directory where the assembly will be saved.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="OutputFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the output file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RegularExpressions" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the regular expressions.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RegularExpressionsFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the file defining the regular expressions.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="RegexMatch" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Task to filter an Input list with a Regex expression.
-            Output list contains items from Input list that matched given expression</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Expression" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Regex expression</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Input" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Input, list of items to perform the regex on</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Options" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Regex options as strings corresponding to the RegexOptions enum:
-                Compiled
-                CultureInvariant
-                ECMAScript 
-                ExplicitCapture
-                IgnoreCase
-                IgnorePatternWhitespace
-                Multiline
-                None
-                RightToLeft
-                Singleline</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Output" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Results of the Regex transformation.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="RegexReplace" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>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.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Count" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Number of matches to allow on each input item.
-            -1 indicates to perform matches on all matches within input item</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Expression" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Regex expression</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Input" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Input, list of items to perform the regex on</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Options" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Regex options as strings corresponding to the RegexOptions enum:
-                Compiled
-                CultureInvariant
-                ECMAScript 
-                ExplicitCapture
-                IgnoreCase
-                IgnorePatternWhitespace
-                Multiline
-                None
-                RightToLeft
-                Singleline</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Output" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Results of the Regex transformation.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Replacement" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] String replacing matching expression strings in input list.
-            If left empty matches in the input list are removed (replaced with empty string)</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StartAt" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Position within the input item to start matching</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="RegistryRead" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Reads a value from the Registry</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="DefaultValue" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the default value.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="KeyName" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the full registry path of the key, beginning with a valid registry root, such as "HKEY_CURRENT_USER".</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Value" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the stored value.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ValueName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the name of the name/value pair.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="RegistryWrite" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Writes a value to the Registry</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="KeyName" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the full registry path of the key, beginning with a valid registry root, such as "HKEY_CURRENT_USER".</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Value" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the value to be stored.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ValueName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the name of the name/value pair.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="RoboCopy" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Task wrapping the Window Resource Kit Robocopy.exe command.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="AllSubdirectories" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /E	Copies all subdirectories (including empty ones).</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="AppendLogFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /LOG+:file	Redirects output to the specified file, appending it to the file if it already exists.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="BackupMode" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /B	Copies files in Backup mode (Backup copies are not restartable, but can copy some files that restartable mode cannot).</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CopyAll" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /COPYALL	Copies Everything. Equivalent to /COPY:DATSOU.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CopyFlags" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /COPY:copyflags Copies the file information specified by copyflags.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Create" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /CREATE	Creates a directory tree structure containing zero-length files only (that is, no file data is copied).</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DestinationFolder" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Destination directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExcludeFiles" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /XF file [file]	Excludes files with the specified names, paths, or wildcard characters.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExcludeFolders" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /XD dir [dir]	Excludes directories with the specified names, paths, or wildcard characters.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExcludeJunctions" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /XJ	Excludes Junction points.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExcluedAttributes" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /XA:{R|A|S|H|C|N|E|T|O} Excludes files with the specified attributes.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="FatFileNames" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /FAT 	Creates destination files using only 8.3 FAT file names.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="FatFileTimes" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /FFT	Assume FAT File Times (2-second granularity).</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="IncludeArchive" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /A	Copies only files with the archive attribute set.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="IncludeArchiveClear" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /M	Copies only files with the archive attribute set and then resets (turns off) the archive attribute in the source files.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="IncludeAttributes" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /IA:{R|A|S|H|C|N|E|T|O} Includes files with the specified attributes.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LogFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /LOG:file	Redirects output to the specified file, overwriting the file if it already exists.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Mirror" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /MIR	Mirrors a directory tree (equivalent to running both /E and /PURGE).</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Move" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /MOVE	Moves files and directories (that is, deletes source files and directories after copying).</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MoveFiles" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /MOV	Moves files (that is, deletes source files after copying).</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoCopy" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /NOCOPY	Copies Nothing. Can be useful with /PURGE.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoFileLogging" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /NFL 	Turns off logging of file names. File names are still shown, however, if file copy errors occur.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoFolderLogging" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /NDL 	Turns off logging of directory names. Full file pathnames (as opposed to simple file names) will be shown if /NDL is used.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoJobHeader" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /NJH	Turns of logging of the job header.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoJobSummary" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /NJS	Turns off logging of the job summary.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoProgress" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /NP 	Turns off copy progress indicator (% copied).</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Options" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Manually entered options.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Purge" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /PURGE	Deletes destination files and directories that no longer exist in the source.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RestartableMode" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /Z	Copies files in restartable mode (that is, restarts the copy process from the point of failure).</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Security" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /SEC	Copies NTFS security information. (Source and destination volumes must both be NTFS). Equivalent to /COPY:DATS.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SourceFiles" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Names of files to act upon.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SourceFolder" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Source directory</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Subdirectories" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /S	Copies subdirectories (excluding empty ones).</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="Verbose" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] /V 	Produces verbose output (including skipped files).</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="BuildAssembler" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>BuildAssembler task for Sandcastle.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="ConfigFile" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the configuration file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="ManifestFile" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the manifest file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoInfoMessages" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether no info messages will be output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoWarnMessages" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether no warning messages will be output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SandcastleRoot" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the sandcastle install root directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="ChmBuilder" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>ChmBuilder task for Sandcastle.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="HtmlDirectory" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the HTML directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LanguageId" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the language id.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Metadata" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is metadata.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoInfoMessages" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether no info messages will be output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoWarnMessages" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether no warning messages will be output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="OutputDirectory" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the output file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ProjectName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the name of the project.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SandcastleRoot" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the sandcastle install root directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="TocFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the toc file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="DBCSFix" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>DBCSFix task for Sandcastle.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="ChmDirectory" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the CHM directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="LanguageId" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the language id.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoInfoMessages" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether no info messages will be output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoWarnMessages" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether no warning messages will be output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SandcastleRoot" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the sandcastle install root directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="MRefBuilder" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>MRefBuilder task for Sandcastle.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Assemblies" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the assemblies.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ConfigFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the config file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="IncludeInternal" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether to include internal members.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoInfoMessages" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether no info messages will be output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoWarnMessages" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether no warning messages will be output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="OutputFile" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the output file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="References" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the references.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SandcastleRoot" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the sandcastle install root directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="Sandcastle" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>The Sandcastle task.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Assemblies" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the assemblies.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ChmName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the name of the CHM.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Clean" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether working directory is cleaned.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Comments" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the comments.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="HxName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating a Html Help 2x project will be created.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LanguageId" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the language id.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoInfoMessages" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether no info messages will be output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoWarnMessages" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether no warning messages will be output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="References" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the references.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SandcastleConfig" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the build assembler config file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SandcastleRoot" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the sandcastle install root directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="TopicStyle" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the html help topic style.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="WorkingDirectory" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the working directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="XslTransform" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>XslTransform task for Sandcastle.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Arguments" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the arguments.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="NoInfoMessages" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether no info messages will be output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoWarnMessages" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether no warning messages will be output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="OutputFile" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the output file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SandcastleRoot" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the sandcastle install root directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="XmlFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the XML files.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="XsltFiles" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the XSLT files.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="TaskSchema" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>A Task that generates a XSD schema of the tasks in an assembly.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Assemblies" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the list of  path to analyse.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="BuildEngine" />
-          <xs:attribute name="CreateTaskList" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating if the task list (using UsingTask)
-            has to be genereted.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="HostObject" />
-          <xs:attribute name="IgnoreDocumentation" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating wheter documentation should be ignored
-            even if available (Default is false).</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="IgnoreMsBuildSchema" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating if the 
-            MsBuild schema inclusing should be ignored</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Includes" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a list of included schemas</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Log" />
-          <xs:attribute name="OutputPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the output path for the generated files.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Schemas" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the list of path to the generated XSD schema.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="TaskListAssemblyFormat" type="msb:TaskListAssemblyFormatTypeType">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating how the assembly is specified in the
-            UsingTask element.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="TaskLists" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the path to the task list if it was generated.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:simpleType name="TaskListAssemblyFormatTypeType">
-    <xs:union memberTypes="msb:non_empty_string">
-      <xs:simpleType>
-        <xs:restriction base="xs:string">
-          <xs:enumeration value="AssemblyFileName">
-            <xs:annotation>
-              <xs:documentation>
-            Assembly file name (Default): &lt;UsingTask AssemblyFile="foo.dll" /&gt;
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-          <xs:enumeration value="AssemblyFileFullPath">
-            <xs:annotation>
-              <xs:documentation>
-            Assembly location: &lt;UsingTask AssemblyName="foo" /&gt;
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-          <xs:enumeration value="AssemblyName">
-            <xs:annotation>
-              <xs:documentation>
-            Assembly Name: &lt;UsingTask AssemblyFile="bin\debug\foo.dll" /&gt;
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-          <xs:enumeration value="AssemblyFullName">
-            <xs:annotation>
-              <xs:documentation>
-            Assembly fully qualified name: &lt;UsingTask AssemblyName="foo.dll,version ...." /&gt;
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:union>
-  </xs:simpleType>
-  <xs:element name="Script" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Executes code contained within the task.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Code" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The code to compile and execute</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Imports" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The namespaces to import.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Language" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>The language of the script block (defaults to C#).</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MainClass" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The name of the main class containing the static ScriptMain 
-            entry point.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="References" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The required references</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ReturnValue" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] The string returned from the custom ScriptMain method.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="ServiceController" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Task that can control a Windows service.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Action" type="msb:ServiceActionsType" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the  to perform on the service.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CanPauseAndContinue" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets a value indicating whether the service can be paused and resumed.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CanShutdown" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets a value indicating whether the service should be notified when the system is shutting down.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CanStop" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets a value indicating whether the service can be stopped after it has started.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DisplayName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets a friendly name for the service.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Exists" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets a value indicating whether the service exists.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MachineName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the name of the machine.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServiceName" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the name of the service.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Status" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the status.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Timeout" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the timeout for the command. The default is
-            one minute.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:simpleType name="ServiceActionsType">
-    <xs:union memberTypes="msb:non_empty_string">
-      <xs:simpleType>
-        <xs:restriction base="xs:string">
-          <xs:enumeration value="Start">
-            <xs:annotation>
-              <xs:documentation>
-            Starts a service.
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-          <xs:enumeration value="Stop">
-            <xs:annotation>
-              <xs:documentation>
-            Stops a service.
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-          <xs:enumeration value="Restart">
-            <xs:annotation>
-              <xs:documentation>
-            Restarts a service.
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-          <xs:enumeration value="Pause">
-            <xs:annotation>
-              <xs:documentation>
-            Pauses a running service.
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-          <xs:enumeration value="Continue">
-            <xs:annotation>
-              <xs:documentation>
-            Continues a paused service.
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:union>
-  </xs:simpleType>
-  <xs:element name="ServiceQuery" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Task that can determine the status of a specified service
-            on a target server.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="CanPauseAndContinue" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets a value indicating whether the service can be paused and resumed.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CanShutdown" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets a value indicating whether the service should be notified when the system is shutting down.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CanStop" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets a value indicating whether the service can be stopped after it has started.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DisplayName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets a friendly name for the service.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Exists" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets a value indicating whether the service exists.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MachineName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the name of the machine.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServiceName" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the name of the service.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Status" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the status.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="Sleep" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>A task for sleeping for a specified period of time.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Hours" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The number of hours to add to the time to sleep.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Milliseconds" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The number of milliseconds to add to the time to sleep.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Minutes" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The number of minutes to add to the time to sleep.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Seconds" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The number of seconds to add to the time to sleep.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="Sound" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>A task to play a sound from a .wav file path or URL.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="LoadTimeout" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the time, in milliseconds, in which the .wav file must load.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MyMusicFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Sets the file path of the .wav file to load
-            as a relative path to .</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SoundLocation" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the file path or URL of the .wav file to load.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Synchron" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether to play the sound synchronously.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SystemSoundFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Sets the file path of the .wav file to load
-            as a relative path to .</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="PdbStr" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>A task for the pdbstr from source server.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Command" type="msb:PdbStrCommandsType">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="PdbFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the PDB file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="StreamFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the stream file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StreamName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the name of the stream.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:simpleType name="PdbStrCommandsType">
-    <xs:union memberTypes="msb:non_empty_string">
-      <xs:simpleType>
-        <xs:restriction base="xs:string">
-          <xs:enumeration value="read">
-            <xs:annotation>
-              <xs:documentation>
-            Read stream from pdb symbol file.
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-          <xs:enumeration value="write">
-            <xs:annotation>
-              <xs:documentation>
-            Write stream to pdb symbol file.
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:union>
-  </xs:simpleType>
-  <xs:element name="SrcTool" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>A task for the srctool from source server.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="CountOnly" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether to get the count of indexed files. The -c switch.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="Extract" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether to extracts the files, instead of simply listing them. The -x switch.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExtractDirectory" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the directory to extract to. The -d switch.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExtractedFiles" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the extracted files. Populated when  is true.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Filter" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the filter to only source files that match this regular expression. The -l switch.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="PdbFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the PDB file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SourceCount" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the number of source files.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SourceFiles" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the source files. Populated when  is true.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SourceOnly" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether to dumps raw source data from the PDB. The -r switch.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="SvnSourceIndex" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>A subversion source index task.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="SourceCommandFormat" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the source command format. The SRCSRVCMD environment variable.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SourceServerName" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the name of the source server.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SourceServerSdkPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the source server SDK path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SourceTargetFormat" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the source target format. The SRCSRVTRG environment variable.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SymbolFiles" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the symbol files to have to source index added.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="SqlExecute" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Executes a SQL command.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Command" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>The command to execute</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="CommandTimeout" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Command Timeout</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ConnectionString" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>The connection string</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="OutputFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The file name to write to</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Result" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Output the return count/value</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SelectMode" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The SQL Selection Mode.  Set to NonQuery, Scalar, or ScalarXml.  Default is NonQuery.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="ExecuteDDL" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>MSBuild task to execute DDL and SQL statements.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="BatchSeparator" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the batch delimter string.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ConnectionString" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>The connection string</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Files" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the DDL/SQL files.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Results" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Output the return count/values</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StatementTimeout" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Timeout to execute a DDL statement.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="SqlPubWiz" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>The Database Publishing Wizard enables the deployment of
-            SQL Server databases (both schema and data) into a shared
-            hosting environment.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Command" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the database publishing command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ConnectionString" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the full connection string to the local database.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Database" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the name of the local database to be scripted.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DataOnly" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether the data but 
-            not the schema should be scripted.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="HosterName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the friendly name of previously
-            configured hosting Web service.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoDropExisting" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether the produced 
-            script should not drop pre-existing objects.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoSchemaQualify" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether objects will
-            not be qualified with a schema.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoTransaction" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether the publish operation
-            should not be executed within a single transaction.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Output" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the full file path for the script file generated.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password to use for connection
-            to the source database.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Quiet" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating output message suppression.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SchemaOnly" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether the schema, 
-            but not the data, should be scripted.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Server" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the name or IP address for the local database connection.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServiceDatabase" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the remote database server name.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServiceDatabaseServer" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the database name to publish to on the remote server.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServicePassword" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password for the remote Web service endpoint.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServiceUsername" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the username on the hosting Web service endpoint.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="TargetServer" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the target server the script should target.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the SQL Server user name to use for connection
-            to the source database.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="WebServiceAddress" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the configuration of the hosting Web service endpoint.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="SvnCheckout" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Checkout a local working copy of a Subversion repository.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Arguments" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the arguments.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Command" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="Force" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the force.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LocalPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the local path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Message" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the message.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MessageFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the message file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoAuthCache" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating no auth cache.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NonInteractive" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating the command is non interactive].</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RepositoryPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the repository path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Revision" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the revision.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SanitizePassword" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Allows to sanitize password string from svn command log output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardError" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the error output of SVN command-line client.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutput" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the output of SVN command-line client.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="TargetFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the target file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Targets" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the targets.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="TrustServerCert" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether to trust the server cert.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the username.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Verbose" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the verbose.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Xml" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating the output is XML.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="SvnClient" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Subversion client base class</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Arguments" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the arguments.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Command" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="Force" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the force.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LocalPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the local path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Message" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the message.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MessageFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the message file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoAuthCache" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating no auth cache.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NonInteractive" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating the command is non interactive].</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RepositoryPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the repository path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Revision" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the revision.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SanitizePassword" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Allows to sanitize password string from svn command log output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardError" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the error output of SVN command-line client.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutput" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the output of SVN command-line client.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="TargetFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the target file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Targets" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the targets.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="TrustServerCert" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether to trust the server cert.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the username.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Verbose" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the verbose.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Xml" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating the output is XML.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="SvnCommit" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Subversion Commit command</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Arguments" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the arguments.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Command" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="Force" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the force.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LocalPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the local path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Message" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the message.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MessageFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the message file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoAuthCache" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating no auth cache.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NonInteractive" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating the command is non interactive].</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RepositoryPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the repository path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Revision" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the revision.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SanitizePassword" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Allows to sanitize password string from svn command log output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardError" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the error output of SVN command-line client.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutput" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the output of SVN command-line client.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="TargetFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the target file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Targets" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the targets.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="TrustServerCert" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether to trust the server cert.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the username.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Verbose" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the verbose.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Xml" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating the output is XML.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="SvnCopy" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Copy a file or folder in Subversion</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Arguments" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the arguments.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="BuildTree" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Specifies whether to create any missing directories and subdirectories 
-            in the specified</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Command" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DestinationPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The path to which the SourcePath should be copied</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="Force" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the force.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LocalPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the local path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Message" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the message.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MessageFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the message file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoAuthCache" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating no auth cache.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NonInteractive" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating the command is non interactive].</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RepositoryPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the repository path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Revision" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the revision.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SanitizePassword" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Allows to sanitize password string from svn command log output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SourcePath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The path of the source file or folder that should be copied</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardError" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the error output of SVN command-line client.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutput" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the output of SVN command-line client.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="TargetFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the target file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Targets" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the targets.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="TrustServerCert" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether to trust the server cert.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the username.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Verbose" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the verbose.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Xml" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating the output is XML.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="SvnExport" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Export a folder from a Subversion repository</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Arguments" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the arguments.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Command" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="Force" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the force.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LocalPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the local path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Message" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the message.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MessageFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the message file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoAuthCache" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating no auth cache.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NonInteractive" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating the command is non interactive].</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RepositoryPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the repository path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Revision" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the revision.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SanitizePassword" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Allows to sanitize password string from svn command log output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardError" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the error output of SVN command-line client.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutput" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the output of SVN command-line client.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="TargetFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the target file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Targets" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the targets.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="TrustServerCert" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether to trust the server cert.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the username.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Verbose" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the verbose.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Xml" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating the output is XML.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="SvnInfo" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Run the "svn info" command and parse the output</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Arguments" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the arguments.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Command" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="Force" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the force.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LastChangedAuthor" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] The author who last changed this node.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LastChangedDate" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] The date this node was last changed.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LastChangedRevision" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] The last changed revision number.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LocalPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the local path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Message" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the message.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MessageFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the message file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoAuthCache" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating no auth cache.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NodeKind" type="msb:NodeKindType">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] The Subversion node kind.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NonInteractive" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating the command is non interactive].</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RepositoryPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the repository path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RepositoryRoot" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Return the repository root or null if not set by Subversion.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RepositoryUuid" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Return the repository UUID value from Subversion.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Revision" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the revision.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SanitizePassword" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Allows to sanitize password string from svn command log output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Schedule" type="msb:ScheduleType">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] The Subversion schedule type.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardError" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the error output of SVN command-line client.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutput" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the output of SVN command-line client.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="TargetFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the target file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Targets" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the targets.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="TrustServerCert" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether to trust the server cert.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the username.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Verbose" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the verbose.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Xml" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating the output is XML.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:simpleType name="NodeKindType">
-    <xs:union memberTypes="msb:non_empty_string">
-      <xs:simpleType>
-        <xs:restriction base="xs:string">
-          <xs:enumeration value="file">
-            <xs:annotation>
-              <xs:documentation>
-            Node is a file
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-          <xs:enumeration value="dir">
-            <xs:annotation>
-              <xs:documentation>
-            Node is a directory
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-          <xs:enumeration value="unknown">
-            <xs:annotation>
-              <xs:documentation>
-            Unknown node type
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:union>
-  </xs:simpleType>
-  <xs:simpleType name="ScheduleType">
-    <xs:union memberTypes="msb:non_empty_string">
-      <xs:simpleType>
-        <xs:restriction base="xs:string">
-          <xs:enumeration value="normal">
-            <xs:annotation>
-              <xs:documentation>
-            Normal schedule
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-          <xs:enumeration value="unknown">
-            <xs:annotation>
-              <xs:documentation>
-            Unknown schedule.
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:union>
-  </xs:simpleType>
-  <xs:element name="SvnStatus" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Subversion status command.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Arguments" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the arguments.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Command" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Entries" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the entries.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="Force" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the force.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LocalPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the local path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Message" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the message.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MessageFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the message file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoAuthCache" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating no auth cache.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NonInteractive" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating the command is non interactive].</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RepositoryPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the repository path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Revision" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the revision.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SanitizePassword" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Allows to sanitize password string from svn command log output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardError" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the error output of SVN command-line client.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutput" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the output of SVN command-line client.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="TargetFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the target file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Targets" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the targets.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="TrustServerCert" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether to trust the server cert.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the username.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Verbose" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the verbose.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Xml" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating the output is XML.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="SvnUpdate" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Subversion Update command</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Arguments" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the arguments.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Command" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="Force" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the force.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LocalPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the local path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Message" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the message.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MessageFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the message file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoAuthCache" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating no auth cache.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NonInteractive" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating the command is non interactive].</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RepositoryPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the repository path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Revision" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the revision.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SanitizePassword" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Allows to sanitize password string from svn command log output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardError" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the error output of SVN command-line client.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutput" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the output of SVN command-line client.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="TargetFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the target file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Targets" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the targets.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="TrustServerCert" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether to trust the server cert.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the username.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Verbose" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the verbose.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Xml" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating the output is XML.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="SvnVersion" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Summarize the local revision(s) of a working copy.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="Exported" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] True if invoked on a directory that is not a working copy, 
-            svnversion assumes it is an exported working copy and prints "exported".</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="HighRevision" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] High revision number of the local working repository revision range.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LocalPath" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Path to local working copy.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LowRevision" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Low revision number of the local working repository revision range.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Modifications" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] True if working copy contains modifications.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Revision" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Revision number of the local working repository.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Switched" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] True if working copy is switched.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="UseLastCommittedRevision" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Specifies whether to use the last committed revision number as
-            opposed to the last updated revision number.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="SymStore" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Task that wraps the Symbol Server SymStore.exe application.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Append" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating SymStore will append new indexing information to an existing index file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Command" type="msb:SymStoreCommandsType">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Comment" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the comment for the transaction.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Compress" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating SymStore will create a compressed version of each file copied to the symbol store instead of using an uncompressed copy of the file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="Files" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the network path of files or directories to add.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ID" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the transaction ID string.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Local" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether the file will be in a local directory rather than a network path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LogFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a log file to be used for command output. If this is not included, transaction information and other output is sent to stdout.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Message" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the message to be added to each file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NoReference" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether to omit the creation of reference pointer files for the files and pointers being stored.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Pointer" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether SymStore will store a pointer to the file, rather than the file itself.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Product" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the name of the product.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ReadIndex" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the index file. Causes SymStore to read the data from a file created with WriteIndexFile.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Recursive" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether SymStore will add files or directories recursively.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Relative" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether the paths in the file pointers will be relative.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Share" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the server and share where the symbol files were originally stored.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Store" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the root directory for the symbol store.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="Verbose" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether SymStore will display verbose output.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Version" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the version of the product.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="WriteIndex" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the index file. Causes SymStore not to store the actual symbol files. Instead, SymStore records information in the IndexFile that will enable SymStore to access the symbol files at a later time.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:simpleType name="SymStoreCommandsType">
-    <xs:union memberTypes="msb:non_empty_string">
-      <xs:simpleType>
-        <xs:restriction base="xs:string">
-          <xs:enumeration value="add">
-            <xs:annotation>
-              <xs:documentation>
-            Add to the symbol server store.
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-          <xs:enumeration value="query">
-            <xs:annotation>
-              <xs:documentation>
-            Query the symbol server store.
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-          <xs:enumeration value="delete">
-            <xs:annotation>
-              <xs:documentation>
-            Delete from the symbol serer store.
-            </xs:documentation>
-            </xs:annotation>
-          </xs:enumeration>
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:union>
-  </xs:simpleType>
-  <xs:element name="TemplateFile" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>MSBuild task that replaces tokens in a template file and writes out a new file.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="OutputFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] The token replaced template file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="OutputFilename" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The full path to the output file name.  If no filename is specified (the default) the
-            output file will be the Template filename with a .out extension.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Template" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>The template file used.  Tokens with values of ${Name} are replaced by name.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Tokens" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] List of tokens to replace in the template.  Token name is taken from the TaskItem.ItemSpec and the
-            replacement value comes from the ReplacementValue metadata of the item.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="TfsClient" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>A task for Team Foundation Server version control.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="All" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is all.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Author" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the author.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Bypass" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is bypass.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Changeset" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the changeset.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Collection" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the collection.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Command" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the Team Foundation Server command.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Comment" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the comment.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ExitCode" />
-          <xs:attribute name="Files" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the files.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Force" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is force.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Format" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the format.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Lock" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the lock.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Notes" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the notes.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Override" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is override.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Overwrite" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is overwrite.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Preview" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is preview.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Recursive" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is recursive.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Remap" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is remap.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Saved" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is saved.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ServerPath" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the server path.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ShelveSetName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the name of the shelve set.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ShelveSetOwner" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the shelve set owner.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Silent" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is silent.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StandardErrorImportance" type="xs:string" />
-          <xs:attribute name="StandardOutputImportance" type="xs:string" />
-          <xs:attribute name="Timeout" />
-          <xs:attribute name="ToolExe" type="xs:string" />
-          <xs:attribute name="ToolPath" type="xs:string" />
-          <xs:attribute name="Type" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the type.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="UserName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the name of the user.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Validate" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is validate.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Version" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the version.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="WorkspaceName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the name of the workspace.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="WorkspaceOwner" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the workspace owner.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="Time" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Gets the current date and time.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="DateTimeValue" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets the internal time value.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Day" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the day of the month represented by this instance.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DayOfWeek" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the day of the week represented by this instance.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="DayOfYear" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the day of the year represented by this instance.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Format" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the format string
-            for output parameter .</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="FormattedTime" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the value of this instance to its equivalent string representation.
-            If input parameter  is provided,
-            the value is formatted according to it.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Hour" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the hour component of the date represented by this instance.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Kind" type="msb:DateTimeKindType">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets a value that indicates whether the time represented by this instance is based
-            on local time, Coordinated Universal Time (UTC), or neither.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LongDate" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the value of this instance to its equivalent long date string representation.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LongTime" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the value of this instance to its equivalent long time string representation.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Millisecond" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the milliseconds component of the date represented by this instance.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Minute" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the minute component of the date represented by this instance.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Month" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the month component of the date represented by this instance.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Second" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the seconds component of the date represented by this instance.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ShortDate" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the value of this instance to its equivalent short date string representation.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ShortTime" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the value of this instance to its equivalent short time string representation.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Ticks" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the number of ticks that represent the date and time of this instance.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="TimeOfDay" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the time of day for this instance.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Year" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the year component of the date represented by this instance.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:simpleType name="DateTimeKindType">
-    <xs:union memberTypes="msb:non_empty_string">
-      <xs:simpleType>
-        <xs:restriction base="xs:string">
-          <xs:enumeration value="Unspecified" />
-          <xs:enumeration value="Utc" />
-          <xs:enumeration value="Local" />
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:union>
-  </xs:simpleType>
-  <xs:element name="Unzip" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Unzip a file to a target directory.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="ExtractedFiles" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the files extracted from the zip.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Overwrite" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether to overwrite any existing files on extraction. Defaults to true.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Quiet" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether to output less information. Defaults to false.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="TargetDirectory" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the target directory.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ZipFileName" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the name of the zip file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="User" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Provides information about the build user.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="DomainName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the domain name of the build user.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Email" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the email address of the build user.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="FirstName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the first name of the build user.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="FullName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the full name of the build user in "[First name] [Middle initial]. [Last name]" format .</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="LastName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the last name of the build user.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MiddleInitial" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the middle initial of the build user.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Phone" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the phone number of the build user.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="UserName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the user name of the build user.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="UserNameWithDomain" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the username and domain name of the build user in "[Domain name]\[User name]" format.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="Version" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Generates version information based on various algorithms</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Build" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the build version number.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="BuildType" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the method used to generate a  number</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Major" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the major version number.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MajorType" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the method used to generate a  number</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Minor" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the minor version number.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MinorType" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the method used to generate a  number</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Revision" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets or sets the revision version number.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RevisionType" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the method used to generate a  number</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="StartDate" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the starting date used to calculate the  number when  is Automatic.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="VersionFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the file used to initialize and persist the version.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="WebDownload" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Downloads a resource with the specified URI to a local file.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Domain" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The domain of the user being used to authenticate against the remote web server. A value for  must also be provided.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="FileName" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the name of the local file that is to receive the data.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="FileUri" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the URI from which to download data.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The password used to authenticate against the remote web server. A value for  must also be provided.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="UseDefaultCredentials" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] When true, the current user's credentials are used to authenticate against the remote web server</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Username" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The username used to authenticate against the remote web server</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="XmlMassUpdate" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Performs multiple updates on an XML file</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="ContentFile" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>The original file whose content is to be updated</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ContentPathUsedByTask" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] The full path of the file containing content updated by the task</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ContentRoot" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The XPath expression identifying root node that substitions are relative to</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="IgnoreMissingSubstitutionsRoot" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] If set to true, the task won't fail if the substitution root is missing</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MergedFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The file created after performing the updates</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MergedPathUsedByTask" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] The full path of the file containing the results of the task</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NamespaceDefinitions" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] A collection of prefix=namespace definitions used to query the XML documents</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SubstitutionsFile" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The file containing the list of updates to perform</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SubstitutionsPathUsedByTask" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] The full path of the file containing substitutions used by the task</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="SubstitutionsRoot" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The XPath expression used to locate the list of substitutions to perform</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="UpdateControlNamespace" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The namespace used for XmlMassUpdate pre-defined attributes</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="XmlQuery" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Reads a value or values from lines of XML</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Lines" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The lines of a valid XML document</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="NamespaceDefinitions" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] A collection of prefix=namespace definitions used to query the XML document</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ReservedMetaDataPrefix" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] The string that is prepended to all reserved metadata properties.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Values" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] The values selected by</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ValuesCount" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] The number of values returned in</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="XmlFileName" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the name of an XML file to query</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="XPath" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>The query used to identify the values in the XML document</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="XmlRead" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Reads a value from a XML document using a XPath.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Namespace" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the default namespace.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Prefix" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the prefix to associate with the namespace being added.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Value" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Output] Gets the value read from file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="XmlFileName" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the name of the XML file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="XPath" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the XPath.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="XmlUpdate" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Updates a XML document using a XPath.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Delete" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether the matched node is deleted.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Namespace" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the default namespace.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Prefix" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the prefix to associate with the namespace being added.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Value" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the value to write.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="XmlFileName" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the name of the XML file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="XPath" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the XPath.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="Xslt" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>A task to merge and transform a set of xml files.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Inputs" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the xml input files.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Output" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the path of the output file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RootAttributes" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the list of
-            semicolon-delimited name/value pairs
-            of the .
-            For example: RootAttributes="foo=bar;date=$(buildDate)"</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="RootTag" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the xml tag name
-            of the root tag wrapped
-            around the merged xml input files.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="UseTrusted" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Enables a Trusted XSLT processor. Sepcifically enables scripts 
-            in the xsl transformation file
-            For example: UseTrusted="true"</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Xsl" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the path of the
-            xsl transformation file to apply.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="Zip" substitutionGroup="msb:Task">
-    <xs:annotation>
-      <xs:documentation>Create a zip file with the files specified.</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent mixed="false">
-        <xs:extension base="msb:TaskType">
-          <xs:attribute name="Comment" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the comment.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Encryption" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the encryption algorithm.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Files" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the files to zip.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Flatten" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is flatten.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="MinimalLogging" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] [Obsolete] 'Add' statement won't be logged with MinimalLogging enabled.
-            The default value for MinimalLogging is false.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ParallelCompression" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets whether parallel compression is used</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Password" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Quiet" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets a value indicating whether to output less information. Defaults to false.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="WorkingDirectory" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the working directory for the zip file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="Zip64" type="msb:non_empty_string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets whether to use ZIP64 extensions.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ZipFileName" type="msb:non_empty_string" use="required">
-            <xs:annotation>
-              <xs:documentation>Gets or sets the name of the zip file.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attribute name="ZipLevel" type="xs:string">
-            <xs:annotation>
-              <xs:documentation>[Optional] Gets or sets the zip level. Default is 6.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-    </xs:complexType>
-  </xs:element>
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:msb="http://schemas.microsoft.com/developer/msbuild/2003" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/developer/msbuild/2003" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:include schemaLocation="Microsoft.Build.Commontypes.xsd" />
+  <xs:element name="InstallAspNet" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Installs and register script mappings for ASP.NET</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="ApplyScriptMaps" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The method used to determine if ASP.NET script mappings should be applied</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ClientScriptsOnly" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] When , the aspnet_client scripts will be installed. No script mappings will be updated.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="Path" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The web application that should have its script maps updated.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Recursive" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] When , script maps are applied recursively under .</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="Version" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The version of ASP.NET to install</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="AssemblyInfo" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Generates an AssemblyInfo files</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="AllowPartiallyTrustedCallers" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets whether to allow strong-named assemblies to be called by partially trusted code.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyCompany" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly company.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyConfiguration" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly configuration.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyCopyright" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly copyright.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyCulture" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly culture.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyDelaySign" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly delay sign value.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyDescription" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly description.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyFileVersion" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly file version.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyInformationalVersion" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly informational version.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyKeyFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly key file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyKeyName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly key name.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyProduct" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly product.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyTitle" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly title.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyTrademark" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly trademark.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyVersion" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly version.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CLSCompliant" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether [CLSCompliant].</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CodeLanguage" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the code language.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ComVisible" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether [COMVisible].</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="GenerateClass" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether to generate the ThisAssmebly class.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Guid" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the GUID.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="InternalsVisibleTo" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Makes it possible to make certain assemblies able to use constructs marked as internal.
+            Example might be setting this value to "UnitTests" assembly. The typical use case might 
+            be constructors in classes which shouldn't be available to other assemblies, but the unit
+            tests should be able to use them.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NeutralResourcesLanguage" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the neutral language which is used as a fallback language configuration 
+            if the locale on the computer isn't supported. Example is setting this to "en-US".</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="OutputFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the output file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SkipVerification" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly delay sign value.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="UltimateResourceFallbackLocation" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the ultimate resource fallback location.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="UnmanagedCode" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly delay sign value.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Attrib" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Changes the attributes of files and/or directories</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Archive" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets file's archive status.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Compressed" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating file is compressed.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Directories" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the list of directories to change attributes on.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Encrypted" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating file is encrypted.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Files" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the list of files to change attributes on.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Hidden" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating file is hidden, and thus is not included in an ordinary directory listing.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Normal" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating file is normal and has no other attributes set.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ReadOnly" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating file is read-only.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="System" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating file is a system file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Beep" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>A task to play the sound of a beep through the console speaker.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Duration" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the of the beep measured in milliseconds.
+            Defaults to 200 milliseconds.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Frequency" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the frequency of the beep, ranging from 37 to 32767 hertz.
+            Defaults to 800 hertz.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Computer" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Provides information about the build computer.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="IPAddress" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the IP address of the build computer.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="IPAddressV4" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the IP v4 address of the build computer.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Name" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the host name of the build computer.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="OSPlatform" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the platform identifier of the build computer's operating system .</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="OSVersion" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the version number of the build computer's operating system.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="DeleteTree" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Delete a directory tree.  This task supports wild card directory selection.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="DeletedDirectories" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the deleted directories.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Directories" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the directories to be deleted.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Recursive" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is recursive.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="EmbedNativeResource" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>A task for embedded native resource.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="ResourceName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the resource name.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ResourcePath" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the resource path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ResourceType" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the resource type.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="TargetAssemblyPath" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the target assembly path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="FileUpdate" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Replace text in file(s) using a Regular Expression.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Encoding" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The character encoding used to read and write the file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Files" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the files to update.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="IgnoreCase" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value specifies case-insensitive matching. .</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Multiline" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value changing the meaning of ^ and $ so they match at the beginning and end, 
+            respectively, of any line, and not just the beginning and end of the entire string.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Regex" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the regex.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ReplacementCount" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the maximum number of times the replacement can occur.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ReplacementText" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the replacement text.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ReplacementTextEmpty" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets if replacement text is empty.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Singleline" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value changing the meaning of the dot (.) so it matches 
+            every character (instead of every character except \n).</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="WarnOnNoUpdate" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] When TRUE, a warning will be generated to show which file was not updated.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="FtpCreateRemoteDirectory" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>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.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="BufferSize" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the size of the data buffer.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LastReply" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets the last recieved FTP response over the client socket.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password to login.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Port" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the port number.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RemoteDirectory" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the remote directory to create.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServerHost" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the server host.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the username to login.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="FtpDirectoryExists" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Determ if a remote directory exists on a FTP server or not.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="BufferSize" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the size of the data buffer.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Exists" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets an indication whether the directory exists on the server.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LastReply" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets the last recieved FTP response over the client socket.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password to login.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Port" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the port number.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RemoteDirectory" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the remote directory to create.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServerHost" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the server host.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the username to login.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="FtpUploadDirectoryContent" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Uploads a full directory content to a remote directory.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="BufferSize" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the size of the data buffer.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LastReply" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets the last recieved FTP response over the client socket.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LocalDirectory" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the local directory that contains the content to upload.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password to login.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Port" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the port number.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Recursive" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether the subdirectories of the local directory should be created remotely and the content of these should also be uploaded.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RemoteDirectory" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the remote directory destination for the local files.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServerHost" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the server host.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the username to login.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="FtpUpload" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Uploads a group of files using File Transfer Protocol (FTP).</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="KeepAlive" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value that indicates whether to make a persistent connection to the Internet resource.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LocalFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the single file to upload.  Use
+            this or LocalFiles, but not both.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LocalFiles" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the local files to upload.  Use this
+            or LocalFile, but not both.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RemoteFiles" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the remote files to upload.
+            Each item in this list should have a corresponding item in LocalFiles.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RemoteUri" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the remote URI to upload.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Timeout" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the time-out value in milliseconds</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="UsePassive" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the behavior of a client application's data transfer process.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the username.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="FxCop" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Uses FxCop to analyse managed code assemblies and reports on
+            their design best-practice compliance.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="AnalysisReportFileName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Specifies the file name for the analysis report.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ApplyOutXsl" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Applies the XSL transformation specified in /outXsl to the 
+            analysis report before saving the file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ConsoleXslFileName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Specifies the XSL or XSLT file that contains a transformation to 
+            be applied to the analysis output before it is displayed in the console.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CustomDictionary" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Specifies the custom dictionary.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DependencyDirectories" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Specifies additional directories to search for assembly dependencies. 
+            FxCopCmd always searches the target assembly directory and the current 
+            working directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DirectOutputToConsole" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Directs analysis output to the console or to the 
+            Output window in Visual Studio .NET. By default, 
+            the XSL file FxCopConsoleOutput.xsl is applied to the 
+            output before it is displayed.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="FailOnError" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether the build should
+            fail if static code analysis reports errors. Defaults to 
+            true.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ImportFiles" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Specifies the name of an analysis report or project file to import. 
+            Any messages in the imported file that are marked as excluded are not 
+            included in the analysis results.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="IncludeSummaryReport" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Includes a summary report with the informational 
+            messages returned by FxCopCmd.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="OutputXslFileName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Specifies the XSL or XSLT file that is referenced by the 
+            xml-stylesheet processing instruction in the analysis report.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="PlatformDirectory" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Specifies the location of the version of Mscorlib.dll 
+            that was used when building the target assemblies if this 
+            version is not installed on the computer running FxCopCmd.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ProjectFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Specifies the filename of FxCop project file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RuleLibraries" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Specifies the filename(s) of FxCop rule assemblies</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Rules" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The list of rules to run</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SaveResults" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Saves the results of the analysis in the project file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SearchGac" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Tells FxCop to search the GAC for assembly references. This parameter was added in FxCop 1.35</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="TargetAssemblies" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Specifies the target assembly to analyze.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="TypeList" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Comma-separated list of type names to analyze.  This option disables 
+            analysis of assemblies, namespaces, and resources; only the specified 
+            types and their members are included in the analysis.  
+            Use the wildcard character '*' at the end of the name to select multiple types.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Verbose" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether the output is verbose.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="WorkingDirectory" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the working directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GacUtil" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>MSBuild task to install and uninstall assemblies into the GAC</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Assemblies" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the assembly name or file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Command" type="msb:GacUtilCommandsType">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Failed" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the number of assemblies that failed to installed/uninstalled.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Force" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether to force reinstall of an assembly.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="IncludeRelatedFiles" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether related files are included when installing in GAC.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="InstalledNames" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the installed assembly names.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="InstalledPaths" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the installed assembly paths.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Quiet" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether warning messages are output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RelatedFileExtensions" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the related file extensions to copy when  is true.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Skipped" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the number of assemblies that were skipped during installed/uninstalled.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Successful" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the number of assemblies successfully installed/uninstalled.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:simpleType name="GacUtilCommandsType">
+    <xs:union memberTypes="msb:non_empty_string">
+      <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:enumeration value="Install">
+            <xs:annotation>
+              <xs:documentation>Install the list of assemblies into the GAC.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="Uninstall">
+            <xs:annotation>
+              <xs:documentation>Uninstall the list of assembly names from the GAC.</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:union>
+  </xs:simpleType>
+  <xs:element name="GetSolutionProjects" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Retrieves the list of Projects contained within a Visual Studio Solution (.sln) file</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Output" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] A list of the project files found in</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Solution" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Name of Solution to get Projects from</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GitBranch" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>A task to get the name of the branch or tag of git repository</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Arguments" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the raw arguments to pass to the git command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Branch" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Return the branch or tag.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Command" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the command to run.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="LocalPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the local or working path for git command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GitClient" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>A task for Git commands.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Arguments" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the raw arguments to pass to the git command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Command" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the command to run.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="LocalPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the local or working path for git command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GitCommits" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>A task for git to retrieve the number of commits on a revision.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Arguments" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the raw arguments to pass to the git command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Command" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the command to run.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CommitsCount" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the commitscount.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="LocalPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the local or working path for git command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Revision" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the revision to get the total number of commits from. Default is HEAD.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GitDescribe" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>A task for git to get the most current tag, commit count since tag, and commit hash.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Arguments" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the raw arguments to pass to the git command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Command" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the command to run.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CommitCount" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the number of commits in this branch since the last tag</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CommitHash" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the commit hash.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ErrorMessage" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Not active yet</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="LocalPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the local or working path for git command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SoftErrorMode" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] When true, any processing errors will push error status out into</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Tag" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the last tagname for this branch</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GitPendingChanges" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>A task for git to detect if there are pending changes</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Arguments" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the raw arguments to pass to the git command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Command" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the command to run.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="HasPendingChanges" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets whether the working directory has pending changes.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LocalPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the local or working path for git command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GitVersion" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>A task for git to get the current commit hash.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Arguments" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the raw arguments to pass to the git command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Command" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the command to run.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CommitHash" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the commit hash.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="LocalPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the local or working path for git command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Revision" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the revision to get the version from. Default is HEAD.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Short" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether to abbreviate to a shorter unique name.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ChmCompiler" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Html Help 1x compiler task.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="ProjectFile" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the project file path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="HxCompiler" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>A Html Help 2.0 compiler task.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="LogFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the log file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoErrorMessages" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether no error messages will be output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoInfoMessages" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether no info messages will be output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoWarningMessages" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether no warning messages will be output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="OutputFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the output file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ProjectFile" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the project file path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ProjectRoot" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the project root.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="QuiteMode" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating quite mode.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="UncompileDirectory" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the uncompile directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="UncompileFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the uncompile file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="AppPoolController" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>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.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Action" type="msb:AppPoolControllerActionsType" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the application pool action.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ApplicationPoolName" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the name of the app pool.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="HostHeaderName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password for the account the task will run under.  This property
+            is needed if you specified a  for a remote machine.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServerName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the name of the server.  The default value is 'localhost'.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServerPort" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the server port.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the username for the account the task will run under.  This property
+            is needed if you specified a  for a remote machine.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:simpleType name="AppPoolControllerActionsType">
+    <xs:union memberTypes="msb:non_empty_string">
+      <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:enumeration value="Start">
+            <xs:annotation>
+              <xs:documentation>Start the applicaiton pool</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="Stop">
+            <xs:annotation>
+              <xs:documentation>Stop the applicaiton pool</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="Restart">
+            <xs:annotation>
+              <xs:documentation>Restart the applicaiton pool</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="Recycle">
+            <xs:annotation>
+              <xs:documentation>Recycle the applicaiton pool</xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:union>
+  </xs:simpleType>
+  <xs:element name="AppPoolCreate" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>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.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="ApplicationPoolName" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the name of the application pool.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AppPoolAutoStart" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The AppPoolAutoStart property indicates to the World Wide Web Publishing Service (WWW service)
+            to automatically start an application pool when the application pool is created or when IIS
+            is started, if the value of this property is set to true.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AppPoolIdentityType" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The AppPoolIdentityType property allows application pools to run as a specific user account:
+            
+            0 - The application pool runs as NT AUTHORITY\SYSTEM.
+            1 - The application pool runs as NT AUTHORITY\LOCAL SERVICE.
+            2 - The application pool runs as NT AUTHORITY\NETWORK SERVICE.
+            3 - The application pool runs as a specific user account, defined by the  property.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AppPoolQueueLength" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The AppPoolQueueLength property indicates to the Universal Listener how many requests
+            to queue up for an application pool before rejecting future requests. When the limit
+            for this property is exceeded, IIS rejects the additional requests with a 503 error.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AutoShutdownAppPoolExe" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The AutoShutdownAppPoolExe property specifies an executable to run when the World Wide Web
+            Publishing Service (WWW service) shuts down an application pool for rapid fail protection. You
+            can use the  property to send parameters to the executable.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AutoShutdownAppPoolParams" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The AutoShutdownAppPoolParams property specifies any command-line parameters for the executable that
+            is specified in the AutoShutdownAppPoolExe property. You can use these two properties in the following
+            way to send e-mail, for example, when the World Wide Web Publishing Service (WWW service) shuts down
+            an application pool for rapid fail protection:
+            
+            AutoShutdownAppPoolExe = "C:\LogAndSendMail.bat"
+            AutoShutdownAppPoolParams = "-AppPoolName %1%"
+            
+            where %1% represents the application pool name.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CPUAction" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The CPUAction property configures the action(s) that IIS takes when Microsoft Windows NT ® job objects
+            run. Only one Windows NT job object exists per application pool, therefore the CPUAction property
+            is configured on a per application pool basis.
+            
+            Possible values:
+            0 - No action is taken except that a warning is written to the event log when the CPU limit is exceeded.
+            1 - Application pool worker processes that exceed their CPU limit will be forced to shut down.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CPULimit" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The CPULimit property configures the maximum percentage of CPU resources that worker processes
+            in an application pool are allowed to consume over a period of time, as indicated by the
+             property. Set this property by specifying a percentage of CPU
+            usage, multiplied by 1000. For example, if you want the CPU usage limit to be 50%, set CPULimit to 50,000.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CPUResetInterval" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The CPUResetInterval property specifies the reset period (in minutes) for CPU monitoring and
+            throttling limits on the application pool. When the number of minutes elapsed since the last
+            process accounting reset equals the number specified by this property, IIS will reset the CPU
+            timers for both the logging and limit intervals. Setting the value of this property to 0
+            disables CPU monitoring.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DisallowOverlappingRotation" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The DisallowOverlappingRotation property specifies whether or not the World Wide Web Publishing
+            Service (WWW Service) should start up another worker process to replace the existing worker
+            process while it is shutting down.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DisallowRotationOnConfigChange" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The DisallowRotationOnConfigChange property specifies whether or not the World Wide Web Publishing
+            Service (WWW Service) should rotate worker processes in an application pool when the configuration
+            has changed. This means that the worker processes will not pick up application pool changes to
+            values passed to the worker process, such as  and .</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="HostHeaderName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="IdleTimeout" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The IdleTimeout property specifies how long (in minutes) a worker process should run idle if no new
+            requests are received and the worker process is not processing requests. After the allotted time
+            passes, the worker process should request to be shut down by the World Wide Web Publishing Service (WWW Service).</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LoadBalancerCapabilities" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The LoadBalancerCapabilities property specifies behavior when a service is unavailable. A setting of 1
+            terminates the connection. A setting of 2 sends error code 503.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LogEventOnRecycle" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The LogEventOnRecycle property specifies that IIS should log an event when an application pool is
+            recycled. Application pools recycle for a variety of reasons. In order for IIS to log the event, the
+            LogEventOnRecycle property must have a bit set corresponding to the reason for the recycle.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LogonMethod" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The LogonMethod property contains an integer that specifies the logon method for cleartext 
+            logons. Valid settings are:
+            
+            0 for interactive logon.
+            1 for batch logon.
+            2 for network logon.
+            3 for cleartext logon.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MaxProcesses" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The MaxProcesses property determines the maximum number of worker processes an application pool
+            allows to service requests for an application pool. This property cannot be set to 0 because there
+            are no unmanaged pools.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="OrphanActionExe" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The OrphanActionExe property specifies an executable to run when the World Wide Web Publishing
+            Service (WWW service) orphans a worker process. You can use the  property
+            to send parameters to the executable.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="OrphanActionParams" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The OrphanActionParams property specifies command-line parameters for the executable
+            specified by the  property.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="OrphanWorkerProcess" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The OrphanWorkerProcess property, when set to true, notifies the World Wide Web Publishing
+            Service (WWW Service) not to terminate a worker process that fails to respond to pings, but
+            to instead orphan the worker process in the application pool if the worker process suffers
+            fatal errors.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password for the account the task will run under.  This property
+            is needed if you specified a  for a remote machine.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="PeriodicRestartMemory" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The PeriodicRestartMemory property specifies the amount of virtual memory (in KB) that a
+            worker process can use before the worker process recycles. The maximum value supported
+            for this property is 4,294,967 KB.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="PeriodicRestartPrivateMemory" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The PeriodicRestartPrivateMemory property specifies the amount of private memory (in KB) that a
+            worker process can use before the worker process recycles. The maximum value supported
+            for this property is 4,294,967 KB.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="PeriodicRestartRequests" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The PeriodicRestartRequests property indicates the number of requests the OOP application
+            should process, after which it is recycled.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="PeriodicRestartSchedule" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The PeriodicRestartSchedule property specifies the time (in 24 hour format) that the application
+            will be rotated. Each time is in local time and is specified in the following format:
+            
+            PeriodicRestartSchedule="hh:mm,hh:mm,hh:mm"</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="PeriodicRestartTime" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The PeriodicRestartTime property specifies the period of time, in minutes, after which IIS
+            rotates an isolated OOP application. Setting the value of this property to 0 disables the
+            property. The maximum supported value for this property is 71,582.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="PingingEnabled" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The PingingEnabled property specifies whether the World Wide Web Publishing Service
+            (WWW Service) should periodically monitor the health of a worker process. Setting the
+            value of this property to true indicates to the WWW service to monitor the worker
+            processes to ensure that the they are running and healthy.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="PingInterval" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The PingInterval property specifies the period of time (in seconds) between health-monitoring
+            pings that the World Wide Web Publishing Service (WWW Service) sends to a worker process.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="PingResponseTime" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The PingResponseTime property specifies the amount of time (in seconds) that a worker process
+            is given to respond to a health monitoring ping. After the time limit is exceeded, the World
+            Wide Web Publishing Service (WWW Service) terminates the worker process.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RapidFailProtection" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Setting the RapidFailProtection property to true instructs the World Wide Web Publishing
+            Service (WWW service) to put all applications in an application pool out of service if the
+            number of worker process crashes has reached the maximum specified by the
+             property, within the number of minutes specified
+            by the  property.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RapidFailProtectionInterval" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The RapidFailProtectionInterval property specifies the number of minutes before the failure
+            count for a process is reset. See .</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RapidFailProtectionMaxCrashes" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The RapidFailProtectionMaxCrashes property specifies the maximum number of failures
+            allowed within the number of minutes specified by the  
+            property. See .</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServerName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the name of the server.  The default value is 'localhost'.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServerPort" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the server port.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ShutdownTimeLimit" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The ShutdownTimeLimit property specifies the amount of time (in seconds) after a recycle
+            threshold has been reached that IIS waits for all old requests to finish running in a worker
+            process before terminating the worker process.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SMPAffinitized" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Setting the SMPAffinitized property to true indicates that a particular worker process
+            assigned to an application pool should be assigned to a given CPU. This property is used
+            in conjunction with the  property to configure a
+            particular processor a worker process will be assigned to.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SMPProcessorAffinityMask" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The SMPProcessorAffinityMask property configures the hexadecimal processor mask. The hexadecimal
+            processor mask indicates to which CPU the worker processes in an application pool should be
+            bound. Before this property takes affect, the  property must be set
+            to true for the application pool. These properties cannot be set through IIS Manager.
+            
+            Do not set this property to zero. Doing so causes no SMP affinity to be configured, creating an
+            error condition. The default DWORD value is 4294967295 (or -1), which is represented in hexadecimal
+            as 0xFFFFFFFF. A value of 0xFFFFFFFF in SMPProcessorAffinityMask indicates that all processors are enabled.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StartupTimeLimit" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The value of the StartupTimeLimit property specifies the amount of time (in seconds) that the World Wide
+            Web Publishing Service (WWW Service) should wait for a worker process to finish starting up and
+            reporting to the WWW Service.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the username for the account the task will run under.  This property
+            is needed if you specified a  for a remote machine.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="WAMUserName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The WAMUserName property specifies the account user name that IIS uses by default as the COM+
+            application identity for newly created IIS out-of-process applications. The values of this
+            property and its companion property, , are set when IIS is installed, and
+            match the user name and password values in the Microsoft Windows user account, which is established
+            at the same time. Changing the value of this property is not recommended. If you do, change
+            it to a valid Windows user account, and change WAMUserPass to the corresponding password
+            for the new account.
+            
+            Important:
+            Changes to WAMUserName and WAMUserPass may disrupt the operation of existing IIS out-of-process
+            applications. You can synchronize application identities using Component Services to edit the
+            user name and password values, found on the Identity tab of the property sheet for each package.
+            
+            In-process applications are not affected by these property values.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="WAMUserPass" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The WAMUserPass property specifies the password for the account that IIS uses by default as the COM+
+            application identity for newly created IIS out-of-process applications. The values of this property
+            and its companion property, , are set when IIS is installed, and match the
+            password and user name values in the Microsoft Windows user account (IWAM_ MachineName, where MachineName
+            is the name of the machine on which IIS is installed) established at the same time.
+            
+            Important:
+            Changing the value of this property is not recommended. If you do, you must change the Windows account
+            password to the identical value. You must also synchronize existing IIS out-of-process application
+            identities, using Component Services to edit the user name and password values, which are found on the
+            Identity tab of the property sheet for each package.
+            
+            In-process applications are not affected by these property values.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="AppPoolDelete" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>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.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="ApplicationPoolName" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the name of the application pool.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="HostHeaderName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password for the account the task will run under.  This property
+            is needed if you specified a  for a remote machine.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServerName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the name of the server.  The default value is 'localhost'.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServerPort" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the server port.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the username for the account the task will run under.  This property
+            is needed if you specified a  for a remote machine.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="WebDirectoryCreate" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>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.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="AccessExecute" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value that indicates if the file
+            or the contents of the folder may be executed, regardless of file type.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AccessNoRemoteExecute" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] A value of true indicates that remote requests to execute applications
+            are denied; only requests from the same computer as the IIS server succeed
+            if the AccessExecute property is set to true. You cannot set 
+            AccessNoRemoteExecute to false to enable remote requests, and set
+             to false to disable local requests.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AccessNoRemoteRead" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] A value of true indicates that remote requests to view files are denied; only
+            requests from the same computer as the IIS server succeed if the 
+            property is set to true. You cannot set  to false to enable
+            remote requests, and set  to false to disable local requests.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AccessNoRemoteScript" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] A value of true indicates that remote requests to view dynamic content are denied; only
+            requests from the same computer as the IIS server succeed if the  property
+            is set to true. You cannot set AccessNoRemoteScript to false to enable remote requests, 
+            and set  to false to disable local requests.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AccessNoRemoteWrite" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] A value of true indicates that remote requests to create or change files are denied; only
+            requests from the same computer as the IIS server succeed if the  property
+            is set to true. You cannot set AccessNoRemoteWrite to false to enable remote requests, 
+            and set  to false to disable local requests.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AccessRead" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] A value of true indicates that the file or the contents of the folder may be read
+            through Microsoft Internet Explorer.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AccessScript" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] A value of true indicates that the file or the contents of the folder may be executed
+            if they are script files or static content. A value of false only allows static files, 
+            such as HTML files, to be served.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AccessSource" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] A value of true indicates that users are allowed to access source code if either
+            Read or Write permissions are set. Source code includes scripts in Microsoft ® Active
+            Server Pages (ASP) applications.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AccessSsl" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] A value of true indicates that file access requires SSL file permission processing, with
+            or without a client certificate.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AccessSsl128" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] A value of true indicates that file access requires SSL file permission processing
+            with a minimum key size of 128 bits, with or without a client certificate.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AccessSslMapCert" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] A value of true indicates that SSL file permission processing maps a client certificate
+            to a Microsoft Windows ® operating system user-account. The  property
+            must also be set to true for the mapping to occur.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AccessSslNegotiateCert" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] A value of true indicates that SSL file access processing requests a certificate from
+            the client. A value of false indicates that access continues if the client does not have
+            a certificate. Some versions of Internet Explorer will close the connection if the server
+            requests a certificate and a certificate is not available (even if  
+            is also set to true).</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AccessSslRequireCert" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] A value of true indicates that SSL file access processing requests a certificate from the
+            client. If the client provides no certificate, the connection is closed.  
+            must also be set to true when using AccessSSLRequireCert.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AccessWrite" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] A value of true indicates that users are allowed to upload files and their associated
+            properties to the enabled directory on your server or to change content in a Write-enabled
+            file. Write can be implemented only with a browser that supports the PUT feature of
+            the HTTP 1.1 protocol standard.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AnonymousPasswordSync" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The AnonymousPasswordSync property indicates whether IIS should handle the user password
+            for anonymous users attempting to access resources.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AppAllowClientDebug" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The AppAllowClientDebug property specifies whether ASP client-side debugging
+            is enabled. This property is independent of , which
+            applies to server-side debugging.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AppAllowDebugging" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The AppAllowDebugging property specifies whether ASP debugging is enabled on
+            the server. This property is independent of the  property, 
+            which applies to client-side debugging.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AspAllowSessionState" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The AspAllowSessionState property enables session state persistence for the ASP application.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AspBufferingOn" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The AspBufferingOn property specifies whether output from an ASP application will be buffered.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AspEnableApplicationRestart" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The AspEnableApplicationRestart determines whether an ASP application can be
+            automatically restarted. When changes are made to Global.asa or metabase properties
+            that affect an application, the application will not restart unless the
+            AspEnableApplicationRestart property is set to true.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AspEnableAspHtmlFallback" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The AspEnableAspHtmlFallback property controls the behavior of ASP when a
+            new request is to be rejected due to a full request queue.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AspEnableChunkedEncoding" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The AspEnableChunkedEncoding property specifies whether HTTP 1.1 chunked
+            transfer encoding is enabled for the World Wide Web Publishing Service (WWW service).</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AspEnableParentPaths" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The AspEnableParentPaths property specifies whether an ASP page allows paths
+            relative to the current directory (using the ..\ notation) or above the current directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AspEnableTypelibCache" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The AspEnableTypelibCache property specifies whether type libraries are cached
+            on the server. The World Wide Web Publishing Service (WWW service) setting for
+            this property is applicable to all in-process and pooled out-of-process application
+            nodes, at all levels. Metabase settings at the Web server level or lower are ignored
+            for in-process and pooled out-of-process applications. However, settings at the Web
+            server level or lower are used if that node is an isolated out-of-process application.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AspErrorsToNTLog" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The AspErrorsToNTLog property specifies which ASP errors are written to the
+            Windows event log. ASP errors are written to the client browser and to the IIS
+            log files by default.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AspExceptionCatchEnable" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The AspExceptionCatchEnable property specifies whether ASP pages trap exceptions
+            thrown by components.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AspLogErrorRequests" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The AspLogErrorRequests property controls whether the Web server writes ASP errors
+            to the application section of the Windows event log. ASP errors are written to the
+            client browser and to the IIS log files by default.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AspScriptErrorMessage" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The AspScriptErrorMessage property specifies the error message to send to the browser
+            if specific debugging errors are not sent to the client (if  
+            is set to false).</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AspScriptErrorSentToBrowser" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The AspScriptErrorSentToBrowser property specifies whether the Web server writes
+            debugging specifics (file name, error, line number, description) to the client
+            browser, in addition to logging them to the Windows Event Log. The  
+            property provides the error message to be sent if this property is set to false.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AspTrackThreadingModel" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The AspTrackThreadingModel property specifies whether IIS checks the threading model
+            of any components (COM objects) that your application creates. The preferred setting
+            of this metabase property is false.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AuthAnonymous" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Specifies Anonymous authentication as one of the possible Windows authentication
+            schemes returned to clients as being available.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AuthBasic" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Specifies Basic authentication as one of the possible Windows authentication
+            schemes returned to clients as being available.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AuthNtlm" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Specifies Integrated Windows authentication (also known as Challenge/Response or
+            NTLM authentication) as one of the possible Windows authentication schemes
+            returned to clients as being available.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AuthPersistSingleRequest" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Setting this flag to true specifies that authentication persists only for a single
+            request on a connection. IIS resets the authentication at the end of each request, and
+            forces re-authentication on the next request of the session.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AuthPersistSingleRequestAlwaysIfProxy" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Setting this flag to true specifies that authentication is valid for a single request if
+            by proxy. IIS will reset the authentication at the end of the request and force
+            re-authentication on the next request if the current authenticated request is by
+            proxy of any type.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AuthPersistSingleRequestIfProxy" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Setting this flag to true specifies authentication will persist only across single
+            requests on a connection if the connection is by proxy. IIS will reset the authentication
+            at the end of the request if the current authenticated request is by proxy and it is
+            not the special case where IIS is running MSPROXY.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CacheControlNoCache" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The CacheControlNoCache property specifies the HTTP 1.1 directive to prevent caching of content.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CacheIsapi" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The CacheISAPI property indicates whether ISAPI extensions are cached in memory after first use.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ContentIndexed" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The ContentIndexed property specifies whether the installed content indexer should
+            index content under this directory tree.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CpuAppEnabled" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] This property specifies whether process accounting and throttling should be performed
+            for ISAPI extensions and ASP applications. To perform process accounting on CGI
+            applications, use the property .</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CpuCgiEnabled" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] This property indicates whether IIS should perform process accounting for CGI
+            applications. To effectively throttle CGI applications, use the CgiTimeout
+            property. To use process accounting for ISAPI and ASP applications, use .</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CreateCgiWithNewConsole" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The CreateCGIWithNewConsole property indicates whether a CGI application runs in its own console.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CreateProcessAsUser" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The CreateProcessAsUser property specifies whether a CGI process is created in the system context or in the context of the requesting user.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DefaultDoc" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The DefaultDoc contains one or more file names of default documents that will be returned
+            to the client if no file name is included in the client's request. The default document
+            will be returned if the  flag of the DirBrowseFlags property
+            is set to true for the directory. This property can contain a list of default document
+            file names separated by a comma and a space, for example Default.htm, Default.asp.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DirBrowseShowDate" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] When set to true, date information is displayed when browsing directories.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DirBrowseShowExtension" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] When set to true, file name extensions are displayed when browsing directories.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DirBrowseShowLongDate" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] When set to true, date information is displayed in extended format when displaying directories.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DirBrowseShowSize" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] When set to true, file size information is displayed when browsing directories.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DirBrowseShowTime" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] When set to true, file time information is displayed when displaying directories.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DontLog" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The DontLog property specifies whether client requests are written to the IIS log files.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="EnableDefaultDoc" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] When set to true, the default document (specified by the  property) for
+            a directory is loaded when the directory is browsed.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="EnableDirBrowsing" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] When set to true, directory browsing is enabled.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="EnableDocFooter" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The EnableDocFooter property enables or disables custom footers specified by
+            the DefaultDocFooter property.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="EnableReverseDns" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The EnableReverseDns property enables or disables reverse Domain Name Server (DNS) lookups
+            for the World Wide Web Publishing Service (WWW service). Reverse lookups involve looking
+            up the domain name when the IP address is known. Reverse DNS lookups can use significant
+            resources and time.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="HostHeaderName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password for the account the task will run under.  This property
+            is needed if you specified a  for a remote machine.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServerName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the name of the server.  The default value is 'localhost'.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServerPort" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the server port.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SsiExecDisable" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The SSIExecDisable property specifies whether server-side include (SSI) #exec directives
+            are disabled under this path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="UncAuthenticationPassthrough" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The UNCAuthenticationPassthrough property enables user authentication passthrough
+            for Universal Naming Convention (UNC) virtual root access (for authentication schemes
+            that support delegation).</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the username for the account the task will run under.  This property
+            is needed if you specified a  for a remote machine.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="VirtualDirectoryName" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the name of the virtual directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="VirtualDirectoryPhysicalPath" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the virtual directory physical path.  The physical directory must
+            exist before this task executes.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="WebDirectoryDelete" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>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.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="HostHeaderName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password for the account the task will run under.  This property
+            is needed if you specified a  for a remote machine.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServerName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the name of the server.  The default value is 'localhost'.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServerPort" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the server port.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the username for the account the task will run under.  This property
+            is needed if you specified a  for a remote machine.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="VirtualDirectoryName" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the name of the virtual directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="WebDirectoryScriptMap" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Sets an application mapping for a filename extension on an existing web directory.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="EnableScriptEngine" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Set to true when you want the application to run in a directory without Execute permissions.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExecutablePath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The full path to the executable used to respond to requests for a Uri ending with</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Extension" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>The filename extension that will be mapped to an executable.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="HostHeaderName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MapToAspNet" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Indicates whether  should be mapped to the ASP.NET runtime.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password for the account the task will run under.  This property
+            is needed if you specified a  for a remote machine.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServerName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the name of the server.  The default value is 'localhost'.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServerPort" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the server port.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the username for the account the task will run under.  This property
+            is needed if you specified a  for a remote machine.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Verbs" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] A comma-separated list of the HTTP verbs to include in the application mapping.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="VerifyFileExists" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Set to true to instruct the Web server to verify the existence of the requested script file and to ensure that the requesting user has access permission for that script file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="VirtualDirectoryName" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the name of the virtual directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="WebDirectorySetting" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Reads and modifies a web directory configuration setting.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="HostHeaderName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password for the account the task will run under.  This property
+            is needed if you specified a  for a remote machine.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServerName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the name of the server.  The default value is 'localhost'.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServerPort" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the server port.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SettingName" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the configuration setting to read or modify.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SettingValue" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the value of  on the web directory</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the username for the account the task will run under.  This property
+            is needed if you specified a  for a remote machine.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="VirtualDirectoryName" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the name of the virtual directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ILMerge" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>A wrapper for the ILMerge tool.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="AllowDuplicateTypes" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the names of public types
+            to be renamed when they are duplicates.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AllowZeroPeKind" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether to treat an assembly 
+            with a zero PeKind flag 
+            (this is the value of the field listed as .corflags in the Manifest)
+            as if it was ILonly.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AttributeFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the attribute assembly
+            from whre to get all of the assembly-level attributes
+            such as Culture, Version, etc.
+            It will also be used to get the Win32 Resources from.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Closed" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether 
+            to augment the list of input assemblies
+            to its "transitive closure".</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CopyAttributes" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether 
+            to copy the assembly level attributes
+            of each input assembly over into the target assembly.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DebugInfo" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether 
+            to preserve any .pdb files
+            that are found for the input assemblies
+            into a .pdb file for the target assembly.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DelaySign" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether 
+            the target assembly will be delay signed.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExcludeFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the file
+            that will be used to identify types
+            that are not to have their visibility modified.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="InputAssemblies" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the input assemblies to merge.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Internalize" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether whether types in assemblies other than the primary assembly have their visibility modified.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="KeyFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the .snk file
+            to sign the target assembly.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LogFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a log file
+            to write log messages to.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="OutputFile" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the target assembly.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="PublicKeyTokens" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether 
+            external assembly references in the manifest
+            of the target assembly will use public keys (false)
+            or public key tokens (true).</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SearchDirectories" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the directories to be used to search for input assemblies.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="TargetKind" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the indicator
+            whether the target assembly is created as a library (Dll),
+            a console application (Exe) or as a Windows application (WinExe).</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="TargetPlatformDirectory" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the directory in which mscorlib.dll is to be found.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="TargetPlatformVersion" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the .NET framework version for the target assembly.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="Version" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the version number of the target assembly.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="XmlDocumentation" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether 
+            to merge XML documentation files
+            into one for the target assembly.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="InnoSetup" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>MSBuild task to create installer with InnoSetup</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="OutputFileName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Specify output filename</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="OutputPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Specify output path</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Quiet" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Quiet compile</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ScriptFile" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Filename of Inno Setup script (.iss)</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="InstallAssembly" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Installs assemblies.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="AssemblyFiles" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The assemblies to process, identified by their filename.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyNames" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The assemblies to process, identified by their assembly name.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="LogFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The file to write installation progress to.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ShowCallStack" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] If an exception occurs at any point during installation, the call
+             stack will be printed to the log.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="UninstallAssembly" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Uninstalls assemblies.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="AssemblyFiles" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The assemblies to process, identified by their filename.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyNames" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The assemblies to process, identified by their assembly name.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="LogFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The file to write installation progress to.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ShowCallStack" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] If an exception occurs at any point during installation, the call
+             stack will be printed to the log.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="JSCompress" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>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.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="CompressedFiles" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the files that were successfully source-compressed.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Encoding" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Encoding to use to read and write files.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Files" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the files to source-compress.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Mail" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Sends an email message</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Attachments" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] List of files to attach to message</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Bcc" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] List of addresss that contains the blind carbon copy (BCC) recipients for this e-mail message</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Body" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The email message body</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CC" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] List of addresss that contains the carbon copy (CC) recipients for this e-mail message</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="EnableSsl" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Specify whether the Mail task uses SSL to encrypt the connection.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="From" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>The from address for this e-mail message</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="IsBodyHtml" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] A value indicating whether the mail message body is in Html</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Priority" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The priority of this e-mail message</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SmtpServer" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>The name or IP address of the host used for SMTP transactions</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Subject" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>The subject line for this e-mail message</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="To" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>List of addresss that contains the recipients of this e-mail message</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the username.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Add" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Add numbers</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Numbers" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the numbers to work with.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NumericFormat" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the numeric format.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Result" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the result.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Divide" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Divide numbers</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Numbers" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the numbers to work with.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NumericFormat" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the numeric format.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Result" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the result.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="TruncateResult" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] When , uses integer division to truncate the result. Default is</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Modulo" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Performs the modulo operation on numbers.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Numbers" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the numbers to work with.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NumericFormat" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the numeric format.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Result" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the result.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Multiple" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Multiple numbers</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Numbers" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the numbers to work with.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NumericFormat" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the numeric format.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Result" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the result.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Subtract" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Subtract numbers</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Numbers" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the numbers to work with.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NumericFormat" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the numeric format.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Result" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the result.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Merge" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Merge files into the destination file.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="DestinationFile" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the destination file where the
+             are merged to.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Mode" type="msb:MergeModesType">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the mode to use when merging.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SourceFiles" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the source files to merge.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:simpleType name="MergeModesType">
+    <xs:union memberTypes="msb:non_empty_string">
+      <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:enumeration value="Binary">
+            <xs:annotation>
+              <xs:documentation>
+            Merges files as binary data.
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="Text">
+            <xs:annotation>
+              <xs:documentation>
+            Merges files as text.
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="TextLine">
+            <xs:annotation>
+              <xs:documentation>
+            Merges files as text line by line.
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:union>
+  </xs:simpleType>
+  <xs:element name="MV" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Moves files on the filesystem to a new location.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="DestinationFiles" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the list of files to moved the source files to.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DestinationFolder" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the directory to which you want to move the files.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MovedFiles" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the items that were successfully moved.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SourceFiles" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the source files to move.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="NDoc" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Runs the NDoc application.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Documenter" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the documenter.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="ProjectFilePath" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the project file path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="Verbose" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether the output is verbose.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="WorkingDirectory" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the working directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="HttpRequest" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Makes an HTTP request, optionally validating the result and writing it to a file.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="EnsureResponseContains" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Optional: if set then the task fails if the response text doesn't contain the text specified.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="FailOnNon2xxResponse" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Default is true.  When true, if the web server returns a status code less than 200 or greater than 299 then the task fails.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Method" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Optional, default is GET. The HTTP method to use for the request.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Optional. The password to use with basic authentication.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ReadRequestFrom" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Optional; the name of the file to reqd the request from.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Url" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>The URL to make an HTTP request against.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Optional. The username to use with basic authentication.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="WriteResponseTo" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Optional; the name of the file to write the response to.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="NuGetPack" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Creates a NuGet package based on the specified nuspec or project file.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="BasePath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The base path of the files defined in the nuspec file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="File" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>The location of the nuspec or project file to create a package.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="OutputDirectory" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Specifies the directory for the created NuGet package.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="OutputFilePath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] The full file path of the NuGet package created by the NuGetPack task</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Properties" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Provides the ability to specify a semicolon ";" delimited list of properties when creating a package.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Symbols" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Determines if a package containing sources and symbols should be created. When specified with a nuspec, 
+            creates a regular NuGet package file and the corresponding symbols package.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="Verbose" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Shows verbose output for package building.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Verbosity" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Display this amount of details in the output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Version" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Overrides the version number from the nuspec file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="WorkingDirectory" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the working directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="NuGetPush" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Pushes a package to the server and optionally publishes it.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="APIKey" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The API key to use for push to the server.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CreateOnly" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Specifies if the package should be created and uploaded to the server but not published to the server. False by default.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="File" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>The path to the package to push the package to the server.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Source" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Specifies the server URL.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="WorkingDirectory" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the working directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="NUnit" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Run NUnit 2.4 on a group of assemblies.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Assemblies" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the assemblies.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DisableShadowCopy" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Determines whether assemblies are copied to a shadow folder during testing.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ErrorOutputFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The file to receive test error details.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExcludeCategory" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the categories to exclude.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="Fixture" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the fixture.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Force32Bit" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Determines whether the tests are run in a 32bit process on a 64bit OS.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Framework" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Determines the framework to run aganist.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="IncludeCategory" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the categories to include.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="OutputXmlFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the output XML file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ProjectConfiguration" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The project configuration to run.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ShowLabels" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Whether or not to show test labels in output</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="TestInNewThread" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Allows tests to be run in a new thread, allowing you to take advantage of ApartmentState and ThreadPriority settings in the config file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="WorkingDirectory" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the working directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="XsltTransformFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the XSLT transform file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="AddTnsName" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Defines a database host within the Oracle TNSNAMES.ORA file.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="AllowUpdates" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] When true, the task will update an existing entry with . 
+            If false, the task will fail if  already exists.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="EntryName" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>The name of the host entry to add.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="EntryText" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The definition of the host entry to add.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ModifiedFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] The path to the TNSNAMES.ORA that was used by task.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ModifiedFileText" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] The contents of the TNSNAMES.ORA file after the task executes.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="OriginalFileText" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] The contents of the TNSNAMES.ORA file before any changes are made.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="TnsNamesFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The path to a specific TNSNAMES.ORA file to update.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Prompt" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Displays a message on the console and waits for user input.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Text" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The message to display in the console.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="UserInput" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] The text entered at the console.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="RegexCompiler" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Compiles regular expressions and saves them to disk in an assembly.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="AssemblyCompany" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly company.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyCopyright" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly copyright.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyCulture" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly culture.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyDescription" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly description.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyFileVersion" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly file version.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyInformationalVersion" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly informational version.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyKeyFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly key file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyName" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the name of the assembly to be created by the regex compiler.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyProduct" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly product.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyTitle" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly title.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AssemblyVersion" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the assembly version.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="IsPublic" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether the default value is public for regular expression instances.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Namespace" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the default namespace for regular expression instances.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Options" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the default regular expression options.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="OutputDirectory" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the directory where the assembly will be saved.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="OutputFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the output file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RegularExpressions" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the regular expressions.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RegularExpressionsFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the file defining the regular expressions.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="RegexMatch" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Task to filter an Input list with a Regex expression.
+            Output list contains items from Input list that matched given expression</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Expression" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Regex expression</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Input" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Input, list of items to perform the regex on</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Options" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Regex options as strings corresponding to the RegexOptions enum:
+                Compiled
+                CultureInvariant
+                ECMAScript 
+                ExplicitCapture
+                IgnoreCase
+                IgnorePatternWhitespace
+                Multiline
+                None
+                RightToLeft
+                Singleline</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Output" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Results of the Regex transformation.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="RegexReplace" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>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.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Count" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Number of matches to allow on each input item.
+            -1 indicates to perform matches on all matches within input item</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Expression" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Regex expression</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Input" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Input, list of items to perform the regex on</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Options" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Regex options as strings corresponding to the RegexOptions enum:
+                Compiled
+                CultureInvariant
+                ECMAScript 
+                ExplicitCapture
+                IgnoreCase
+                IgnorePatternWhitespace
+                Multiline
+                None
+                RightToLeft
+                Singleline</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Output" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Results of the Regex transformation.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Replacement" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] String replacing matching expression strings in input list.
+            If left empty matches in the input list are removed (replaced with empty string)</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StartAt" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Position within the input item to start matching</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="RegistryRead" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Reads a value from the Registry</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="DefaultValue" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the default value.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="KeyName" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the full registry path of the key, beginning with a valid registry root, such as "HKEY_CURRENT_USER".</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Value" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the stored value.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ValueName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the name of the name/value pair.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="RegistryWrite" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Writes a value to the Registry</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="KeyName" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the full registry path of the key, beginning with a valid registry root, such as "HKEY_CURRENT_USER".</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Value" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the value to be stored.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ValueName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the name of the name/value pair.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="RoboCopy" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Task wrapping the Window Resource Kit Robocopy.exe command.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="AllSubdirectories" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /E	Copies all subdirectories (including empty ones).</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="AppendLogFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /LOG+:file	Redirects output to the specified file, appending it to the file if it already exists.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="BackupMode" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /B	Copies files in Backup mode (Backup copies are not restartable, but can copy some files that restartable mode cannot).</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CopyAll" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /COPYALL	Copies Everything. Equivalent to /COPY:DATSOU.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CopyFlags" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /COPY:copyflags Copies the file information specified by copyflags.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Create" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /CREATE	Creates a directory tree structure containing zero-length files only (that is, no file data is copied).</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DestinationFolder" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Destination directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExcludeFiles" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /XF file [file]	Excludes files with the specified names, paths, or wildcard characters.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExcludeFolders" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /XD dir [dir]	Excludes directories with the specified names, paths, or wildcard characters.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExcludeJunctions" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /XJ	Excludes Junction points.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExcluedAttributes" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /XA:{R|A|S|H|C|N|E|T|O} Excludes files with the specified attributes.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="FatFileNames" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /FAT 	Creates destination files using only 8.3 FAT file names.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="FatFileTimes" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /FFT	Assume FAT File Times (2-second granularity).</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="IncludeArchive" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /A	Copies only files with the archive attribute set.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="IncludeArchiveClear" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /M	Copies only files with the archive attribute set and then resets (turns off) the archive attribute in the source files.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="IncludeAttributes" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /IA:{R|A|S|H|C|N|E|T|O} Includes files with the specified attributes.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LogFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /LOG:file	Redirects output to the specified file, overwriting the file if it already exists.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Mirror" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /MIR	Mirrors a directory tree (equivalent to running both /E and /PURGE).</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Move" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /MOVE	Moves files and directories (that is, deletes source files and directories after copying).</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MoveFiles" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /MOV	Moves files (that is, deletes source files after copying).</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoCopy" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /NOCOPY	Copies Nothing. Can be useful with /PURGE.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoFileLogging" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /NFL 	Turns off logging of file names. File names are still shown, however, if file copy errors occur.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoFolderLogging" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /NDL 	Turns off logging of directory names. Full file pathnames (as opposed to simple file names) will be shown if /NDL is used.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoJobHeader" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /NJH	Turns of logging of the job header.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoJobSummary" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /NJS	Turns off logging of the job summary.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoProgress" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /NP 	Turns off copy progress indicator (% copied).</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Options" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Manually entered options.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Purge" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /PURGE	Deletes destination files and directories that no longer exist in the source.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RestartableMode" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /Z	Copies files in restartable mode (that is, restarts the copy process from the point of failure).</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Security" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /SEC	Copies NTFS security information. (Source and destination volumes must both be NTFS). Equivalent to /COPY:DATS.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SourceFiles" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Names of files to act upon.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SourceFolder" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Source directory</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Subdirectories" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /S	Copies subdirectories (excluding empty ones).</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="Verbose" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] /V 	Produces verbose output (including skipped files).</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="BuildAssembler" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>BuildAssembler task for Sandcastle.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="ConfigFile" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the configuration file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="ManifestFile" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the manifest file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoInfoMessages" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether no info messages will be output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoWarnMessages" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether no warning messages will be output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SandcastleRoot" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the sandcastle install root directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ChmBuilder" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>ChmBuilder task for Sandcastle.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="HtmlDirectory" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the HTML directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LanguageId" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the language id.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Metadata" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is metadata.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoInfoMessages" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether no info messages will be output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoWarnMessages" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether no warning messages will be output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="OutputDirectory" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the output file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ProjectName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the name of the project.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SandcastleRoot" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the sandcastle install root directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="TocFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the toc file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="DBCSFix" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>DBCSFix task for Sandcastle.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="ChmDirectory" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the CHM directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="LanguageId" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the language id.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoInfoMessages" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether no info messages will be output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoWarnMessages" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether no warning messages will be output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SandcastleRoot" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the sandcastle install root directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="MRefBuilder" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>MRefBuilder task for Sandcastle.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Assemblies" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the assemblies.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ConfigFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the config file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="IncludeInternal" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether to include internal members.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoInfoMessages" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether no info messages will be output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoWarnMessages" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether no warning messages will be output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="OutputFile" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the output file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="References" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the references.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SandcastleRoot" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the sandcastle install root directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Sandcastle" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>The Sandcastle task.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Assemblies" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the assemblies.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ChmName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the name of the CHM.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Clean" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether working directory is cleaned.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Comments" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the comments.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="HxName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating a Html Help 2x project will be created.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LanguageId" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the language id.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoInfoMessages" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether no info messages will be output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoWarnMessages" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether no warning messages will be output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="References" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the references.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SandcastleConfig" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the build assembler config file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SandcastleRoot" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the sandcastle install root directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="TopicStyle" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the html help topic style.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="WorkingDirectory" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the working directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="XslTransform" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>XslTransform task for Sandcastle.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Arguments" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the arguments.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="NoInfoMessages" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether no info messages will be output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoWarnMessages" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether no warning messages will be output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="OutputFile" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the output file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SandcastleRoot" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the sandcastle install root directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="XmlFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the XML files.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="XsltFiles" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the XSLT files.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="TaskSchema" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>A Task that generates a XSD schema of the tasks in an assembly.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Assemblies" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the list of  path to analyse.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="BuildEngine" />
+          <xs:attribute name="CreateTaskList" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating if the task list (using UsingTask)
+            has to be genereted.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="HostObject" />
+          <xs:attribute name="IgnoreDocumentation" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating wheter documentation should be ignored
+            even if available (Default is false).</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="IgnoreMsBuildSchema" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating if the 
+            MsBuild schema inclusing should be ignored</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Includes" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a list of included schemas</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Log" />
+          <xs:attribute name="OutputPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the output path for the generated files.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Schemas" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the list of path to the generated XSD schema.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="TaskListAssemblyFormat" type="msb:TaskListAssemblyFormatTypeType">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating how the assembly is specified in the
+            UsingTask element.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="TaskLists" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the path to the task list if it was generated.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:simpleType name="TaskListAssemblyFormatTypeType">
+    <xs:union memberTypes="msb:non_empty_string">
+      <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:enumeration value="AssemblyFileName">
+            <xs:annotation>
+              <xs:documentation>
+            Assembly file name (Default): &lt;UsingTask AssemblyFile="foo.dll" /&gt;
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="AssemblyFileFullPath">
+            <xs:annotation>
+              <xs:documentation>
+            Assembly location: &lt;UsingTask AssemblyName="foo" /&gt;
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="AssemblyName">
+            <xs:annotation>
+              <xs:documentation>
+            Assembly Name: &lt;UsingTask AssemblyFile="bin\debug\foo.dll" /&gt;
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="AssemblyFullName">
+            <xs:annotation>
+              <xs:documentation>
+            Assembly fully qualified name: &lt;UsingTask AssemblyName="foo.dll,version ...." /&gt;
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:union>
+  </xs:simpleType>
+  <xs:element name="Script" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Executes code contained within the task.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Code" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The code to compile and execute</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Imports" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The namespaces to import.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Language" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>The language of the script block (defaults to C#).</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MainClass" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The name of the main class containing the static ScriptMain 
+            entry point.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="References" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The required references</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ReturnValue" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] The string returned from the custom ScriptMain method.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ServiceController" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Task that can control a Windows service.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Action" type="msb:ServiceActionsType" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the  to perform on the service.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CanPauseAndContinue" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets a value indicating whether the service can be paused and resumed.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CanShutdown" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets a value indicating whether the service should be notified when the system is shutting down.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CanStop" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets a value indicating whether the service can be stopped after it has started.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DisplayName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets a friendly name for the service.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Exists" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets a value indicating whether the service exists.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MachineName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the name of the machine.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServiceName" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the name of the service.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Status" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the status.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Timeout" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the timeout for the command. The default is
+            one minute.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:simpleType name="ServiceActionsType">
+    <xs:union memberTypes="msb:non_empty_string">
+      <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:enumeration value="Start">
+            <xs:annotation>
+              <xs:documentation>
+            Starts a service.
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="Stop">
+            <xs:annotation>
+              <xs:documentation>
+            Stops a service.
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="Restart">
+            <xs:annotation>
+              <xs:documentation>
+            Restarts a service.
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="Pause">
+            <xs:annotation>
+              <xs:documentation>
+            Pauses a running service.
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="Continue">
+            <xs:annotation>
+              <xs:documentation>
+            Continues a paused service.
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:union>
+  </xs:simpleType>
+  <xs:element name="ServiceQuery" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Task that can determine the status of a specified service
+            on a target server.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="CanPauseAndContinue" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets a value indicating whether the service can be paused and resumed.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CanShutdown" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets a value indicating whether the service should be notified when the system is shutting down.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CanStop" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets a value indicating whether the service can be stopped after it has started.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DisplayName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets a friendly name for the service.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Exists" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets a value indicating whether the service exists.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MachineName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the name of the machine.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServiceName" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the name of the service.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Status" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the status.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Sleep" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>A task for sleeping for a specified period of time.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Hours" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The number of hours to add to the time to sleep.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Milliseconds" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The number of milliseconds to add to the time to sleep.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Minutes" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The number of minutes to add to the time to sleep.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Seconds" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The number of seconds to add to the time to sleep.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Sound" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>A task to play a sound from a .wav file path or URL.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="LoadTimeout" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the time, in milliseconds, in which the .wav file must load.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MyMusicFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Sets the file path of the .wav file to load
+            as a relative path to .</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SoundLocation" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the file path or URL of the .wav file to load.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Synchron" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether to play the sound synchronously.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SystemSoundFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Sets the file path of the .wav file to load
+            as a relative path to .</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="PdbStr" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>A task for the pdbstr from source server.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Command" type="msb:PdbStrCommandsType">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="PdbFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the PDB file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="StreamFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the stream file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StreamName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the name of the stream.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:simpleType name="PdbStrCommandsType">
+    <xs:union memberTypes="msb:non_empty_string">
+      <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:enumeration value="read">
+            <xs:annotation>
+              <xs:documentation>
+            Read stream from pdb symbol file.
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="write">
+            <xs:annotation>
+              <xs:documentation>
+            Write stream to pdb symbol file.
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:union>
+  </xs:simpleType>
+  <xs:element name="SrcTool" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>A task for the srctool from source server.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="CountOnly" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether to get the count of indexed files. The -c switch.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="Extract" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether to extracts the files, instead of simply listing them. The -x switch.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExtractDirectory" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the directory to extract to. The -d switch.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExtractedFiles" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the extracted files. Populated when  is true.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Filter" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the filter to only source files that match this regular expression. The -l switch.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="PdbFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the PDB file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SourceCount" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the number of source files.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SourceFiles" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the source files. Populated when  is true.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SourceOnly" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether to dumps raw source data from the PDB. The -r switch.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SvnSourceIndex" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>A subversion source index task.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="SourceCommandFormat" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the source command format. The SRCSRVCMD environment variable.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SourceServerName" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the name of the source server.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SourceServerSdkPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the source server SDK path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SourceTargetFormat" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the source target format. The SRCSRVTRG environment variable.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SymbolFiles" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the symbol files to have to source index added.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SqlExecute" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Executes a SQL command.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Command" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>The command to execute</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="CommandTimeout" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Command Timeout</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ConnectionString" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>The connection string</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="OutputFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The file name to write to</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Result" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Output the return count/value</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SelectMode" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The SQL Selection Mode.  Set to NonQuery, Scalar, or ScalarXml.  Default is NonQuery.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ExecuteDDL" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>MSBuild task to execute DDL and SQL statements.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="BatchSeparator" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the batch delimter string.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ConnectionString" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>The connection string</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Files" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the DDL/SQL files.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Results" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Output the return count/values</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StatementTimeout" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Timeout to execute a DDL statement.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SqlPubWiz" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>The Database Publishing Wizard enables the deployment of
+            SQL Server databases (both schema and data) into a shared
+            hosting environment.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Command" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the database publishing command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ConnectionString" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the full connection string to the local database.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Database" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the name of the local database to be scripted.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DataOnly" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether the data but 
+            not the schema should be scripted.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="HosterName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the friendly name of previously
+            configured hosting Web service.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoDropExisting" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether the produced 
+            script should not drop pre-existing objects.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoSchemaQualify" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether objects will
+            not be qualified with a schema.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoTransaction" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether the publish operation
+            should not be executed within a single transaction.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Output" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the full file path for the script file generated.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password to use for connection
+            to the source database.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Quiet" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating output message suppression.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SchemaOnly" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether the schema, 
+            but not the data, should be scripted.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Server" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the name or IP address for the local database connection.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServiceDatabase" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the remote database server name.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServiceDatabaseServer" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the database name to publish to on the remote server.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServicePassword" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password for the remote Web service endpoint.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServiceUsername" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the username on the hosting Web service endpoint.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="TargetServer" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the target server the script should target.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the SQL Server user name to use for connection
+            to the source database.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="WebServiceAddress" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the configuration of the hosting Web service endpoint.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SvnCheckout" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Checkout a local working copy of a Subversion repository.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Arguments" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the arguments.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Command" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="Force" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the force.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LocalPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the local path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Message" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the message.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MessageFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the message file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoAuthCache" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating no auth cache.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NonInteractive" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating the command is non interactive].</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RepositoryPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the repository path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Revision" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the revision.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SanitizePassword" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Allows to sanitize password string from svn command log output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardError" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the error output of SVN command-line client.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutput" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the output of SVN command-line client.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="TargetFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the target file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Targets" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the targets.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="TrustServerCert" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether to trust the server cert.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the username.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Verbose" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the verbose.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Xml" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating the output is XML.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SvnClient" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Subversion client base class</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Arguments" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the arguments.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Command" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="Force" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the force.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LocalPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the local path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Message" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the message.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MessageFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the message file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoAuthCache" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating no auth cache.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NonInteractive" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating the command is non interactive].</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RepositoryPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the repository path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Revision" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the revision.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SanitizePassword" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Allows to sanitize password string from svn command log output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardError" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the error output of SVN command-line client.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutput" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the output of SVN command-line client.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="TargetFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the target file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Targets" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the targets.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="TrustServerCert" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether to trust the server cert.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the username.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Verbose" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the verbose.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Xml" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating the output is XML.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SvnCommit" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Subversion Commit command</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Arguments" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the arguments.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Command" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="Force" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the force.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LocalPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the local path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Message" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the message.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MessageFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the message file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoAuthCache" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating no auth cache.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NonInteractive" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating the command is non interactive].</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RepositoryPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the repository path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Revision" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the revision.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SanitizePassword" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Allows to sanitize password string from svn command log output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardError" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the error output of SVN command-line client.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutput" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the output of SVN command-line client.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="TargetFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the target file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Targets" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the targets.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="TrustServerCert" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether to trust the server cert.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the username.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Verbose" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the verbose.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Xml" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating the output is XML.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SvnCopy" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Copy a file or folder in Subversion</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Arguments" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the arguments.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="BuildTree" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Specifies whether to create any missing directories and subdirectories 
+            in the specified</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Command" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DestinationPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The path to which the SourcePath should be copied</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="Force" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the force.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LocalPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the local path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Message" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the message.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MessageFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the message file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoAuthCache" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating no auth cache.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NonInteractive" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating the command is non interactive].</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RepositoryPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the repository path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Revision" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the revision.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SanitizePassword" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Allows to sanitize password string from svn command log output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SourcePath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The path of the source file or folder that should be copied</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardError" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the error output of SVN command-line client.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutput" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the output of SVN command-line client.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="TargetFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the target file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Targets" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the targets.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="TrustServerCert" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether to trust the server cert.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the username.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Verbose" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the verbose.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Xml" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating the output is XML.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SvnExport" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Export a folder from a Subversion repository</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Arguments" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the arguments.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Command" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="Force" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the force.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LocalPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the local path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Message" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the message.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MessageFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the message file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoAuthCache" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating no auth cache.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NonInteractive" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating the command is non interactive].</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RepositoryPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the repository path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Revision" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the revision.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SanitizePassword" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Allows to sanitize password string from svn command log output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardError" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the error output of SVN command-line client.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutput" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the output of SVN command-line client.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="TargetFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the target file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Targets" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the targets.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="TrustServerCert" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether to trust the server cert.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the username.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Verbose" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the verbose.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Xml" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating the output is XML.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SvnInfo" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Run the "svn info" command and parse the output</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Arguments" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the arguments.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Command" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="Force" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the force.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LastChangedAuthor" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] The author who last changed this node.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LastChangedDate" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] The date this node was last changed.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LastChangedRevision" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] The last changed revision number.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LocalPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the local path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Message" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the message.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MessageFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the message file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoAuthCache" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating no auth cache.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NodeKind" type="msb:NodeKindType">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] The Subversion node kind.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NonInteractive" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating the command is non interactive].</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RepositoryPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the repository path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RepositoryRoot" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Return the repository root or null if not set by Subversion.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RepositoryUuid" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Return the repository UUID value from Subversion.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Revision" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the revision.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SanitizePassword" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Allows to sanitize password string from svn command log output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Schedule" type="msb:ScheduleType">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] The Subversion schedule type.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardError" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the error output of SVN command-line client.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutput" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the output of SVN command-line client.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="TargetFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the target file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Targets" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the targets.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="TrustServerCert" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether to trust the server cert.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the username.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Verbose" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the verbose.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Xml" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating the output is XML.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:simpleType name="NodeKindType">
+    <xs:union memberTypes="msb:non_empty_string">
+      <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:enumeration value="file">
+            <xs:annotation>
+              <xs:documentation>
+            Node is a file
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="dir">
+            <xs:annotation>
+              <xs:documentation>
+            Node is a directory
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="unknown">
+            <xs:annotation>
+              <xs:documentation>
+            Unknown node type
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:union>
+  </xs:simpleType>
+  <xs:simpleType name="ScheduleType">
+    <xs:union memberTypes="msb:non_empty_string">
+      <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:enumeration value="normal">
+            <xs:annotation>
+              <xs:documentation>
+            Normal schedule
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="unknown">
+            <xs:annotation>
+              <xs:documentation>
+            Unknown schedule.
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:union>
+  </xs:simpleType>
+  <xs:element name="SvnStatus" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Subversion status command.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Arguments" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the arguments.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Command" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Entries" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the entries.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="Force" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the force.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LocalPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the local path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Message" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the message.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MessageFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the message file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoAuthCache" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating no auth cache.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NonInteractive" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating the command is non interactive].</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RepositoryPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the repository path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Revision" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the revision.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SanitizePassword" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Allows to sanitize password string from svn command log output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardError" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the error output of SVN command-line client.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutput" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the output of SVN command-line client.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="TargetFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the target file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Targets" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the targets.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="TrustServerCert" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether to trust the server cert.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the username.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Verbose" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the verbose.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Xml" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating the output is XML.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SvnUpdate" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Subversion Update command</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Arguments" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the arguments.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Command" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="Force" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the force.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LocalPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the local path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Message" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the message.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MessageFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the message file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoAuthCache" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating no auth cache.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NonInteractive" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating the command is non interactive].</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RepositoryPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the repository path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Revision" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the revision.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SanitizePassword" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Allows to sanitize password string from svn command log output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardError" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the error output of SVN command-line client.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutput" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the output of SVN command-line client.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="TargetFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the target file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Targets" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the targets.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="TrustServerCert" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether to trust the server cert.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the username.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Verbose" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the verbose.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Xml" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating the output is XML.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SvnVersion" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Summarize the local revision(s) of a working copy.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="Exported" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] True if invoked on a directory that is not a working copy, 
+            svnversion assumes it is an exported working copy and prints "exported".</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="HighRevision" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] High revision number of the local working repository revision range.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LocalPath" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Path to local working copy.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LowRevision" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Low revision number of the local working repository revision range.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Modifications" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] True if working copy contains modifications.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Revision" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Revision number of the local working repository.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Switched" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] True if working copy is switched.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="UseLastCommittedRevision" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Specifies whether to use the last committed revision number as
+            opposed to the last updated revision number.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SymStore" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Task that wraps the Symbol Server SymStore.exe application.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Append" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating SymStore will append new indexing information to an existing index file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Command" type="msb:SymStoreCommandsType">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Comment" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the comment for the transaction.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Compress" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating SymStore will create a compressed version of each file copied to the symbol store instead of using an uncompressed copy of the file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="Files" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the network path of files or directories to add.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ID" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the transaction ID string.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Local" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether the file will be in a local directory rather than a network path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LogFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a log file to be used for command output. If this is not included, transaction information and other output is sent to stdout.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Message" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the message to be added to each file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NoReference" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether to omit the creation of reference pointer files for the files and pointers being stored.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Pointer" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether SymStore will store a pointer to the file, rather than the file itself.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Product" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the name of the product.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ReadIndex" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the index file. Causes SymStore to read the data from a file created with WriteIndexFile.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Recursive" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether SymStore will add files or directories recursively.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Relative" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether the paths in the file pointers will be relative.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Share" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the server and share where the symbol files were originally stored.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Store" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the root directory for the symbol store.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="Verbose" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether SymStore will display verbose output.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Version" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the version of the product.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="WriteIndex" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the index file. Causes SymStore not to store the actual symbol files. Instead, SymStore records information in the IndexFile that will enable SymStore to access the symbol files at a later time.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:simpleType name="SymStoreCommandsType">
+    <xs:union memberTypes="msb:non_empty_string">
+      <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:enumeration value="add">
+            <xs:annotation>
+              <xs:documentation>
+            Add to the symbol server store.
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="query">
+            <xs:annotation>
+              <xs:documentation>
+            Query the symbol server store.
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+          <xs:enumeration value="delete">
+            <xs:annotation>
+              <xs:documentation>
+            Delete from the symbol serer store.
+            </xs:documentation>
+            </xs:annotation>
+          </xs:enumeration>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:union>
+  </xs:simpleType>
+  <xs:element name="TemplateFile" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>MSBuild task that replaces tokens in a template file and writes out a new file.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="OutputFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] The token replaced template file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="OutputFilename" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The full path to the output file name.  If no filename is specified (the default) the
+            output file will be the Template filename with a .out extension.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Template" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>The template file used.  Tokens with values of ${Name} are replaced by name.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Tokens" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] List of tokens to replace in the template.  Token name is taken from the TaskItem.ItemSpec and the
+            replacement value comes from the ReplacementValue metadata of the item.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="TfsClient" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>A task for Team Foundation Server version control.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="All" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is all.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Author" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the author.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Bypass" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is bypass.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Changeset" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the changeset.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Collection" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the collection.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Command" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the Team Foundation Server command.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Comment" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the comment.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ExitCode" />
+          <xs:attribute name="Files" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the files.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Force" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is force.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Format" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the format.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Lock" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the lock.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Notes" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the notes.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Override" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is override.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Overwrite" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is overwrite.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Preview" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is preview.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Recursive" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is recursive.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Remap" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is remap.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Saved" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is saved.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ServerPath" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the server path.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ShelveSetName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the name of the shelve set.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ShelveSetOwner" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the shelve set owner.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Silent" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is silent.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StandardErrorImportance" type="xs:string" />
+          <xs:attribute name="StandardOutputImportance" type="xs:string" />
+          <xs:attribute name="Timeout" />
+          <xs:attribute name="ToolExe" type="xs:string" />
+          <xs:attribute name="ToolPath" type="xs:string" />
+          <xs:attribute name="Type" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the type.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="UserName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the name of the user.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Validate" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is validate.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Version" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the version.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="WorkspaceName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the name of the workspace.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="WorkspaceOwner" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the workspace owner.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Time" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Gets the current date and time.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="DateTimeValue" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets the internal time value.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Day" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the day of the month represented by this instance.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DayOfWeek" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the day of the week represented by this instance.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="DayOfYear" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the day of the year represented by this instance.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Format" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the format string
+            for output parameter .</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="FormattedTime" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the value of this instance to its equivalent string representation.
+            If input parameter  is provided,
+            the value is formatted according to it.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Hour" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the hour component of the date represented by this instance.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Kind" type="msb:DateTimeKindType">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets a value that indicates whether the time represented by this instance is based
+            on local time, Coordinated Universal Time (UTC), or neither.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LongDate" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the value of this instance to its equivalent long date string representation.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LongTime" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the value of this instance to its equivalent long time string representation.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Millisecond" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the milliseconds component of the date represented by this instance.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Minute" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the minute component of the date represented by this instance.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Month" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the month component of the date represented by this instance.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Second" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the seconds component of the date represented by this instance.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ShortDate" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the value of this instance to its equivalent short date string representation.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ShortTime" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the value of this instance to its equivalent short time string representation.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Ticks" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the number of ticks that represent the date and time of this instance.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="TimeOfDay" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the time of day for this instance.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Year" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the year component of the date represented by this instance.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:simpleType name="DateTimeKindType">
+    <xs:union memberTypes="msb:non_empty_string">
+      <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:enumeration value="Unspecified" />
+          <xs:enumeration value="Utc" />
+          <xs:enumeration value="Local" />
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:union>
+  </xs:simpleType>
+  <xs:element name="Unzip" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Unzip a file to a target directory.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="ExtractedFiles" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the files extracted from the zip.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Overwrite" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether to overwrite any existing files on extraction. Defaults to true.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Quiet" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether to output less information. Defaults to false.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="TargetDirectory" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the target directory.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ZipFileName" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the name of the zip file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="User" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Provides information about the build user.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="DomainName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the domain name of the build user.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Email" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the email address of the build user.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="FirstName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the first name of the build user.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="FullName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the full name of the build user in "[First name] [Middle initial]. [Last name]" format .</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="LastName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the last name of the build user.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MiddleInitial" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the middle initial of the build user.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Phone" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the phone number of the build user.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="UserName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the user name of the build user.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="UserNameWithDomain" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the username and domain name of the build user in "[Domain name]\[User name]" format.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Version" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Generates version information based on various algorithms</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Build" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the build version number.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="BuildType" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the method used to generate a  number</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Major" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the major version number.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MajorType" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the method used to generate a  number</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Minor" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the minor version number.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MinorType" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the method used to generate a  number</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Revision" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets or sets the revision version number.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RevisionType" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the method used to generate a  number</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="StartDate" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the starting date used to calculate the  number when  is Automatic.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="VersionFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the file used to initialize and persist the version.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="WebDownload" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Downloads a resource with the specified URI to a local file.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Domain" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The domain of the user being used to authenticate against the remote web server. A value for  must also be provided.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="FileName" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the name of the local file that is to receive the data.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="FileUri" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the URI from which to download data.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The password used to authenticate against the remote web server. A value for  must also be provided.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="UseDefaultCredentials" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] When true, the current user's credentials are used to authenticate against the remote web server</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Username" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The username used to authenticate against the remote web server</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="XmlMassUpdate" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Performs multiple updates on an XML file</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="ContentFile" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>The original file whose content is to be updated</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ContentPathUsedByTask" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] The full path of the file containing content updated by the task</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ContentRoot" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The XPath expression identifying root node that substitions are relative to</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="IgnoreMissingSubstitutionsRoot" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] If set to true, the task won't fail if the substitution root is missing</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MergedFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The file created after performing the updates</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MergedPathUsedByTask" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] The full path of the file containing the results of the task</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NamespaceDefinitions" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] A collection of prefix=namespace definitions used to query the XML documents</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SubstitutionsFile" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The file containing the list of updates to perform</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SubstitutionsPathUsedByTask" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] The full path of the file containing substitutions used by the task</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="SubstitutionsRoot" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The XPath expression used to locate the list of substitutions to perform</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="UpdateControlNamespace" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The namespace used for XmlMassUpdate pre-defined attributes</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="XmlQuery" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Reads a value or values from lines of XML</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Lines" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The lines of a valid XML document</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="NamespaceDefinitions" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] A collection of prefix=namespace definitions used to query the XML document</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ReservedMetaDataPrefix" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] The string that is prepended to all reserved metadata properties.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Values" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] The values selected by</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ValuesCount" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] The number of values returned in</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="XmlFileName" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the name of an XML file to query</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="XPath" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>The query used to identify the values in the XML document</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="XmlRead" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Reads a value from a XML document using a XPath.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Namespace" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the default namespace.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Prefix" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the prefix to associate with the namespace being added.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Value" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Output] Gets the value read from file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="XmlFileName" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the name of the XML file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="XPath" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the XPath.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="XmlUpdate" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Updates a XML document using a XPath.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Delete" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether the matched node is deleted.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Namespace" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the default namespace.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Prefix" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the prefix to associate with the namespace being added.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Value" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the value to write.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="XmlFileName" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the name of the XML file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="XPath" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the XPath.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Xslt" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>A task to merge and transform a set of xml files.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Inputs" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the xml input files.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Output" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the path of the output file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RootAttributes" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the list of
+            semicolon-delimited name/value pairs
+            of the .
+            For example: RootAttributes="foo=bar;date=$(buildDate)"</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="RootTag" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the xml tag name
+            of the root tag wrapped
+            around the merged xml input files.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="UseTrusted" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Enables a Trusted XSLT processor. Sepcifically enables scripts 
+            in the xsl transformation file
+            For example: UseTrusted="true"</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Xsl" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the path of the
+            xsl transformation file to apply.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Zip" substitutionGroup="msb:Task">
+    <xs:annotation>
+      <xs:documentation>Create a zip file with the files specified.</xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:complexContent mixed="false">
+        <xs:extension base="msb:TaskType">
+          <xs:attribute name="Comment" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the comment.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Encryption" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the encryption algorithm.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Files" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the files to zip.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Flatten" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether this  is flatten.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="MinimalLogging" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] [Obsolete] 'Add' statement won't be logged with MinimalLogging enabled.
+            The default value for MinimalLogging is false.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ParallelCompression" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets whether parallel compression is used</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Password" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the password.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Quiet" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets a value indicating whether to output less information. Defaults to false.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="WorkingDirectory" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the working directory for the zip file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="Zip64" type="msb:non_empty_string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets whether to use ZIP64 extensions.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ZipFileName" type="msb:non_empty_string" use="required">
+            <xs:annotation>
+              <xs:documentation>Gets or sets the name of the zip file.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+          <xs:attribute name="ZipLevel" type="xs:string">
+            <xs:annotation>
+              <xs:documentation>[Optional] Gets or sets the zip level. Default is 6.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
 </xs:schema>

+ 105 - 105
Renci.SshClient/Build/nuget/SSH.NET.nuspec → build/nuget/SSH.NET.nuspec

@@ -1,106 +1,106 @@
-<?xml version="1.0" encoding="utf-8"?>
-<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
-    <metadata>
-        <id>SSH.NET</id>
-        <version>2014.4.6-beta2</version>
-        <title>SSH.NET</title>
-        <authors>Renci</authors>
-        <owners>olegkap</owners>
-        <licenseUrl>http://sshnet.codeplex.com/license</licenseUrl>
-        <projectUrl>http://sshnet.codeplex.com/</projectUrl>
-        <requireLicenseAcceptance>true</requireLicenseAcceptance>
-        <description>This project was inspired by Sharp.SSH library which was ported from Java.  This library is a complete rewrite using .NET, without any third party dependencies and to utilize the parallelism as much as possible to allow best performance you can get.  SSH.NET supports .NET 3.5, .NET 4.0, Silverlight 4.0, Silverlight 5.0, Windows Phone 7.1 and Windows Phone 8.</description>
-        <releaseNotes>2014.4.6-beta3
-==============
-
-New Features:
-
-    * Overall performance improvements
-
-Fixes:
-
-    * Partial reads from stream assume end (issue #1516)
-    * Session.Disconnect() hangs forever (issue #2591)
-    * SshData.ReadInt64() is broken (issue #2579)
-
-2014.4.6-beta2
-==============
-
-New Features:
-
-    * Improved accuracy of IsConnected on .NET
-    * Added support for ssh.com (SSH-2) private keys (issue #1987)
-    * Support an acceptable group of up to 8192 bits for SHA-1 and SHA-256 Diffie-Hellman Group and Key Exchange (issues #1973 and #1777)
-
-Changes:
-
-    * Reduced default buffer size for SftpClient from 64 KB to 32 KB as some SSH servers apply a hard limit of 64 KB at the transport level.
-
-Fixes:
-
-    * SftpClient is throwing undocumented exceptions (issue #2148)
-    * Client channels are no longer closed on dispose (issue #1943)
-    * SftpClient.Exists(string) returns true for a path that does not exist (issues #1952, #1696 and #1574)
-    * ObjectDisposedException when channel is closing (issues #1942 and #1944)
-    * Stack overflow during authentication when server returns same allowed methods after partial success (issue #2399)
-    * SshCommand doesn't cleanup subscribed events (issue #2295)
-    * Lines before protocol identification string are not skipped (issue #1935 and #2223)
-    * ShellStream.ReadLine produces incorrect output when reading multi-byte characters (issue #2190)
-    * SftpClient constructor throws ArgumentException when host contains underscore (issue #1845)
-    * Signing key is missing from source download (issue #2455)
-    * Forwarded Port channels can get stuck waiting (issue #1558)
-    * NullReferenceException when SftpFileStream is finalized after dispose of session (issue #2013)
-    * BlockCipher.Encrypt fails if input message is not padded (issue #2547)
-    * ScpClient: Missing files when using DirectoryUpload (issue #1382)
-    * Dynamic port forwarding slows down to a crawl (issue #2010)
-    * SendKeepAlive causes SocketException when connection is dropped (issue #2029)
-    * SocketException on Dispose or Disconnect (issue #2400)
-    * Sending EOF on wrong channel number (issue #1877)
-    * ForwardedPortDynamic: Unhandled exception if client terminates socket (issue #1844)
-
-2014.4.6-beta1
-==============
-
-New Features:
-
-    * Added callbacks to UploadFile, DownloadFile and ListDirectory in SftpClient (issue #1324)
-    * Allow a given private key file to be used concurrently
-    * Performance improvements:
-        - optimization of payload size for both read and write operations (SftpClient only)
-        - increase window size from 1MB to 2MB
-        - increase buffer size from 16KB to 64KB for SftpClient
-        - take into account the maximum remote packet size of the channel for write operations
-        - increase maximum size of packets that we can receive from 32 KB to 64 KB
-    * Improve exception message for authentication failures
-
-Breaking changes:
-
-    * Assembly name is now Renci.SshNet for all supported frameworks
-    * The Renci.SshNet assemblies for .NET and Silverlight are now strong-named (issue #1802)
-
-Fixes:
-
-    * Incorrect copyright in assemblies (issue #1764)
-    * Remove linefeed from WriteLine method in Shellstream class (issue #1584)
-    * Disable logging of messages in release builds (issue #1767)
-    * Stuck loop on key exchange using arcfour encryption (issue #1922)
-    * Timeout sending data to server with low window size (issue #1706)
-    * No connection possible with the same auth method requested multiple times (issue #1930)
-    * Unobserved exception rethrown by finalizer thread (issue #1298 and #1587)
-    * Client cipher is used to decrypt server messages (issue #1917)
-    * Connection dropped by server due to invalid DSA signature (issue #1918)
-    * Correct casing of Security/Cryptography/HMAC.cs to fix build on Linux (issue #1505)
-    * HTTP proxy hangs (issue #1890)
-    * Wrong parameters to SetSocketOption leads to SocketException under Mono (issue #1799)
-    * Incorrect check for timeout values (issue #1620)
-    * Wrong PKCS7 padding in DES algorithm (issue #1580)
-    * OverflowException on empty server response (issue #1562)
-    * Event handle leak (issue #1761)
-    * SftpFileStream is very slow (issue #1919)
-    * Write access required for private key file</releaseNotes>
-        <summary>A Secure Shell (SSH) library for .NET, optimized for parallelism.</summary>
-        <copyright>2012-2014, RENCI</copyright>
-        <language>en-US</language>
-        <tags>ssh .net40 sftp .net35 wp71 wp8 silverlight windowsphone</tags>
-    </metadata>
+<?xml version="1.0" encoding="utf-8"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
+    <metadata>
+        <id>SSH.NET</id>
+        <version>2014.4.6-beta2</version>
+        <title>SSH.NET</title>
+        <authors>Renci</authors>
+        <owners>olegkap</owners>
+        <licenseUrl>http://sshnet.codeplex.com/license</licenseUrl>
+        <projectUrl>http://sshnet.codeplex.com/</projectUrl>
+        <requireLicenseAcceptance>true</requireLicenseAcceptance>
+        <description>This project was inspired by Sharp.SSH library which was ported from Java.  This library is a complete rewrite using .NET, without any third party dependencies and to utilize the parallelism as much as possible to allow best performance you can get.  SSH.NET supports .NET 3.5, .NET 4.0, Silverlight 4.0, Silverlight 5.0, Windows Phone 7.1 and Windows Phone 8.</description>
+        <releaseNotes>2014.4.6-beta3
+==============
+
+New Features:
+
+    * Overall performance improvements
+
+Fixes:
+
+    * Partial reads from stream assume end (issue #1516)
+    * Session.Disconnect() hangs forever (issue #2591)
+    * SshData.ReadInt64() is broken (issue #2579)
+
+2014.4.6-beta2
+==============
+
+New Features:
+
+    * Improved accuracy of IsConnected on .NET
+    * Added support for ssh.com (SSH-2) private keys (issue #1987)
+    * Support an acceptable group of up to 8192 bits for SHA-1 and SHA-256 Diffie-Hellman Group and Key Exchange (issues #1973 and #1777)
+
+Changes:
+
+    * Reduced default buffer size for SftpClient from 64 KB to 32 KB as some SSH servers apply a hard limit of 64 KB at the transport level.
+
+Fixes:
+
+    * SftpClient is throwing undocumented exceptions (issue #2148)
+    * Client channels are no longer closed on dispose (issue #1943)
+    * SftpClient.Exists(string) returns true for a path that does not exist (issues #1952, #1696 and #1574)
+    * ObjectDisposedException when channel is closing (issues #1942 and #1944)
+    * Stack overflow during authentication when server returns same allowed methods after partial success (issue #2399)
+    * SshCommand doesn't cleanup subscribed events (issue #2295)
+    * Lines before protocol identification string are not skipped (issue #1935 and #2223)
+    * ShellStream.ReadLine produces incorrect output when reading multi-byte characters (issue #2190)
+    * SftpClient constructor throws ArgumentException when host contains underscore (issue #1845)
+    * Signing key is missing from source download (issue #2455)
+    * Forwarded Port channels can get stuck waiting (issue #1558)
+    * NullReferenceException when SftpFileStream is finalized after dispose of session (issue #2013)
+    * BlockCipher.Encrypt fails if input message is not padded (issue #2547)
+    * ScpClient: Missing files when using DirectoryUpload (issue #1382)
+    * Dynamic port forwarding slows down to a crawl (issue #2010)
+    * SendKeepAlive causes SocketException when connection is dropped (issue #2029)
+    * SocketException on Dispose or Disconnect (issue #2400)
+    * Sending EOF on wrong channel number (issue #1877)
+    * ForwardedPortDynamic: Unhandled exception if client terminates socket (issue #1844)
+
+2014.4.6-beta1
+==============
+
+New Features:
+
+    * Added callbacks to UploadFile, DownloadFile and ListDirectory in SftpClient (issue #1324)
+    * Allow a given private key file to be used concurrently
+    * Performance improvements:
+        - optimization of payload size for both read and write operations (SftpClient only)
+        - increase window size from 1MB to 2MB
+        - increase buffer size from 16KB to 64KB for SftpClient
+        - take into account the maximum remote packet size of the channel for write operations
+        - increase maximum size of packets that we can receive from 32 KB to 64 KB
+    * Improve exception message for authentication failures
+
+Breaking changes:
+
+    * Assembly name is now Renci.SshNet for all supported frameworks
+    * The Renci.SshNet assemblies for .NET and Silverlight are now strong-named (issue #1802)
+
+Fixes:
+
+    * Incorrect copyright in assemblies (issue #1764)
+    * Remove linefeed from WriteLine method in Shellstream class (issue #1584)
+    * Disable logging of messages in release builds (issue #1767)
+    * Stuck loop on key exchange using arcfour encryption (issue #1922)
+    * Timeout sending data to server with low window size (issue #1706)
+    * No connection possible with the same auth method requested multiple times (issue #1930)
+    * Unobserved exception rethrown by finalizer thread (issue #1298 and #1587)
+    * Client cipher is used to decrypt server messages (issue #1917)
+    * Connection dropped by server due to invalid DSA signature (issue #1918)
+    * Correct casing of Security/Cryptography/HMAC.cs to fix build on Linux (issue #1505)
+    * HTTP proxy hangs (issue #1890)
+    * Wrong parameters to SetSocketOption leads to SocketException under Mono (issue #1799)
+    * Incorrect check for timeout values (issue #1620)
+    * Wrong PKCS7 padding in DES algorithm (issue #1580)
+    * OverflowException on empty server response (issue #1562)
+    * Event handle leak (issue #1761)
+    * SftpFileStream is very slow (issue #1919)
+    * Write access required for private key file</releaseNotes>
+        <summary>A Secure Shell (SSH) library for .NET, optimized for parallelism.</summary>
+        <copyright>2012-2014, RENCI</copyright>
+        <language>en-US</language>
+        <tags>ssh .net40 sftp .net35 wp71 wp8 silverlight windowsphone</tags>
+    </metadata>
 </package>

+ 0 - 0
Renci.SshClient/Build/nuget/nuget.exe → build/nuget/nuget.exe


+ 75 - 75
Renci.SshClient/Build/sandcastle/SSH.NET.shfbproj → build/sandcastle/SSH.NET.shfbproj

@@ -1,76 +1,76 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
-  <PropertyGroup>
-    <!--
-      The configuration and platform will be used to determine which assemblies to include from solution and
-      project documentation sources
-    -->
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{f7266fb1-f50a-4a5b-b35a-5ea8ebdc1be9}</ProjectGuid>
-    <SHFBSchemaVersion>1.9.9.0</SHFBSchemaVersion>
-    <!-- AssemblyName, Name, and RootNamespace are not used by SHFB but Visual Studio adds them anyway -->
-    <AssemblyName>Documentation</AssemblyName>
-    <RootNamespace>Documentation</RootNamespace>
-    <Name>Documentation</Name>
-    <!-- SHFB properties -->
-    <FrameworkVersion>.NET Framework 4.0</FrameworkVersion>
-    <OutputPath>..\target\help</OutputPath>
-    <HtmlHelpName>SshNet.Help</HtmlHelpName>
-    <Language>en-US</Language>
-    <MaximumGroupParts>2</MaximumGroupParts>
-    <NamespaceGrouping>False</NamespaceGrouping>
-    <SyntaxFilters>C#</SyntaxFilters>
-    <SdkLinkTarget>Blank</SdkLinkTarget>
-    <RootNamespaceContainer>False</RootNamespaceContainer>
-    <PresentationStyle>VS2010</PresentationStyle>
-    <Preliminary>False</Preliminary>
-    <NamingMethod>Guid</NamingMethod>
-    <HelpTitle>SSH.NET Client Library Documenation</HelpTitle>
-    <ContentPlacement>AboveNamespaces</ContentPlacement>
-    <ComponentConfigurations>
-      <ComponentConfig id="Code Block Component" enabled="True" xmlns="">
-        <component id="Code Block Component">
-          <basePath value="{@HtmlEncProjectFolder}..\..\Renci.SshNet\bin" />
-          <outputPaths>{@HelpFormatOutputPaths}</outputPaths>
-          <allowMissingSource value="false" />
-          <removeRegionMarkers value="false" />
-          <colorizer syntaxFile="{@SHFBFolder}Colorizer\highlight.xml" styleFile="{@SHFBFolder}Colorizer\highlight.xsl" stylesheet="{@SHFBFolder}Colorizer\highlight.css" scriptFile="{@SHFBFolder}Colorizer\highlight.js" language="cs" tabSize="0" numberLines="false" outlining="false" keepSeeTags="false" defaultTitle="true" />
-        </component>
-      </ComponentConfig>
-    </ComponentConfigurations>
-    <DocumentationSources>
-      <DocumentationSource sourceFile="..\..\Renci.SshNet\bin\Release\Renci.SshNet.dll" xmlns="" />
-      <DocumentationSource sourceFile="..\..\Renci.SshNet\bin\Release\Renci.SshNet.xml" xmlns="" />
-    </DocumentationSources>
-    <MissingTags>Summary, Parameter, Returns, AutoDocumentCtors, TypeParameter, AutoDocumentDispose</MissingTags>
-    <BuildAssemblerVerbosity>OnlyWarningsAndErrors</BuildAssemblerVerbosity>
-    <HelpFileFormat>HtmlHelp1</HelpFileFormat>
-    <IndentHtml>False</IndentHtml>
-    <KeepLogFile>False</KeepLogFile>
-    <DisableCodeBlockComponent>False</DisableCodeBlockComponent>
-    <CppCommentsFixup>False</CppCommentsFixup>
-    <CleanIntermediates>True</CleanIntermediates>
-  </PropertyGroup>
-  <!-- There are no properties for these groups.  AnyCPU needs to appear in order for Visual Studio to perform
-			 the build.  The others are optional common platform types that may appear. -->
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|Win32' ">
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|Win32' ">
-  </PropertyGroup>
-  <!-- Import the SHFB build targets -->
-  <Import Project="$(SHFBROOT)\SandcastleHelpFileBuilder.targets" />
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
+  <PropertyGroup>
+    <!--
+      The configuration and platform will be used to determine which assemblies to include from solution and
+      project documentation sources
+    -->
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{f7266fb1-f50a-4a5b-b35a-5ea8ebdc1be9}</ProjectGuid>
+    <SHFBSchemaVersion>1.9.9.0</SHFBSchemaVersion>
+    <!-- AssemblyName, Name, and RootNamespace are not used by SHFB but Visual Studio adds them anyway -->
+    <AssemblyName>Documentation</AssemblyName>
+    <RootNamespace>Documentation</RootNamespace>
+    <Name>Documentation</Name>
+    <!-- SHFB properties -->
+    <FrameworkVersion>.NET Framework 4.0</FrameworkVersion>
+    <OutputPath>..\target\help</OutputPath>
+    <HtmlHelpName>SshNet.Help</HtmlHelpName>
+    <Language>en-US</Language>
+    <MaximumGroupParts>2</MaximumGroupParts>
+    <NamespaceGrouping>False</NamespaceGrouping>
+    <SyntaxFilters>C#</SyntaxFilters>
+    <SdkLinkTarget>Blank</SdkLinkTarget>
+    <RootNamespaceContainer>False</RootNamespaceContainer>
+    <PresentationStyle>VS2010</PresentationStyle>
+    <Preliminary>False</Preliminary>
+    <NamingMethod>Guid</NamingMethod>
+    <HelpTitle>SSH.NET Client Library Documenation</HelpTitle>
+    <ContentPlacement>AboveNamespaces</ContentPlacement>
+    <ComponentConfigurations>
+      <ComponentConfig id="Code Block Component" enabled="True" xmlns="">
+        <component id="Code Block Component">
+          <basePath value="{@HtmlEncProjectFolder}..\..\Renci.SshNet\bin" />
+          <outputPaths>{@HelpFormatOutputPaths}</outputPaths>
+          <allowMissingSource value="false" />
+          <removeRegionMarkers value="false" />
+          <colorizer syntaxFile="{@SHFBFolder}Colorizer\highlight.xml" styleFile="{@SHFBFolder}Colorizer\highlight.xsl" stylesheet="{@SHFBFolder}Colorizer\highlight.css" scriptFile="{@SHFBFolder}Colorizer\highlight.js" language="cs" tabSize="0" numberLines="false" outlining="false" keepSeeTags="false" defaultTitle="true" />
+        </component>
+      </ComponentConfig>
+    </ComponentConfigurations>
+    <DocumentationSources>
+      <DocumentationSource sourceFile="..\..\Renci.SshNet\bin\Release\Renci.SshNet.dll" xmlns="" />
+      <DocumentationSource sourceFile="..\..\Renci.SshNet\bin\Release\Renci.SshNet.xml" xmlns="" />
+    </DocumentationSources>
+    <MissingTags>Summary, Parameter, Returns, AutoDocumentCtors, TypeParameter, AutoDocumentDispose</MissingTags>
+    <BuildAssemblerVerbosity>OnlyWarningsAndErrors</BuildAssemblerVerbosity>
+    <HelpFileFormat>HtmlHelp1</HelpFileFormat>
+    <IndentHtml>False</IndentHtml>
+    <KeepLogFile>False</KeepLogFile>
+    <DisableCodeBlockComponent>False</DisableCodeBlockComponent>
+    <CppCommentsFixup>False</CppCommentsFixup>
+    <CleanIntermediates>True</CleanIntermediates>
+  </PropertyGroup>
+  <!-- There are no properties for these groups.  AnyCPU needs to appear in order for Visual Studio to perform
+			 the build.  The others are optional common platform types that may appear. -->
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|Win32' ">
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|Win32' ">
+  </PropertyGroup>
+  <!-- Import the SHFB build targets -->
+  <Import Project="$(SHFBROOT)\SandcastleHelpFileBuilder.targets" />
 </Project>

+ 5 - 0
src/.nuget/NuGet.Config

@@ -0,0 +1,5 @@
+<configuration>
+	<config>
+		<add key="repositoryPath" value="../../packages" />
+	</config>
+</configuration>

+ 0 - 0
Renci.SshClient/References/X.690-0207.pdf → src/References/X.690-0207.pdf


+ 0 - 0
Renci.SshClient/References/X.690-0207.txt → src/References/X.690-0207.txt


+ 0 - 0
Renci.SshClient/Renci.SshNet.NET35/Channels/ChannelDirectTcpip.NET35.cs → src/Renci.SshNet.NET35/Channels/ChannelDirectTcpip.NET35.cs


+ 0 - 0
Renci.SshClient/Renci.SshNet.NET35/Common/Extensions.NET35.cs → src/Renci.SshNet.NET35/Common/Extensions.NET35.cs


+ 0 - 0
Renci.SshClient/Renci.SshNet.NET35/ForwardedPortDynamic.NET35.cs → src/Renci.SshNet.NET35/ForwardedPortDynamic.NET35.cs


+ 0 - 0
Renci.SshClient/Renci.SshNet.NET35/ForwardedPortLocal.NET35.cs → src/Renci.SshNet.NET35/ForwardedPortLocal.NET35.cs


+ 0 - 0
Renci.SshClient/Renci.SshNet.NET35/ForwardedPortRemote.NET35.cs → src/Renci.SshNet.NET35/ForwardedPortRemote.NET35.cs


+ 0 - 0
Renci.SshClient/Renci.SshNet.NET35/KeyboardInteractiveAuthenticationMethod.NET35.cs → src/Renci.SshNet.NET35/KeyboardInteractiveAuthenticationMethod.NET35.cs


Vissa filer visades inte eftersom för många filer har ändrats