I have a build definition that uses the TfsVersion task in the "BuildNumberOverrideTarget" target. The task is invoked using a version format of "Elapsed" as shown below
<Target Name="BuildNumberOverrideTarget" Condition="$(CodeBuildNumber) == ''">
<BuildStep TeamFoundationServerUrl="$(TeamFoundationServerUrl)" BuildUri="$(BuildUri)" Message="TARGET OVERRIDE: BuildNumberOverrideTarget" Status="Succeeded"/>
<MSBuild.ExtensionPack.VisualStudio.TfsVersion TaskAction="GetVersion" UseUtcDate="true" BuildName="$(BuildDefinition)" TfsBuildNumber="$(BuildNumber)" VersionFormat="Elapsed" StartDate="01 Sep 2012" VersionTemplateFormat="0.0.1000.0" Major="1" Minor="0">
<Output TaskParameter="Version" PropertyName="CodeBuildNumber" />
</MSBuild.ExtensionPack.VisualStudio.TfsVersion>
<BuildStep TeamFoundationServerUrl="$(TeamFoundationServerUrl)" BuildUri="$(BuildUri)" Message="... The assembly build number is $(CodeBuildNumber)" Status="Succeeded"/>
<OnError ExecuteTargets="OnError" />
</Target>
Would have expected no issue with the build number but got the following error
"ArgumentOutOfRangeException: Index and length must refer to a location within the string.
Parameter name: length"
<Target Name="BuildNumberOverrideTarget" Condition="$(CodeBuildNumber) == ''">
<BuildStep TeamFoundationServerUrl="$(TeamFoundationServerUrl)" BuildUri="$(BuildUri)" Message="TARGET OVERRIDE: BuildNumberOverrideTarget" Status="Succeeded"/>
<MSBuild.ExtensionPack.VisualStudio.TfsVersion TaskAction="GetVersion" UseUtcDate="true" BuildName="$(BuildDefinition)" TfsBuildNumber="$(BuildNumber)" VersionFormat="Elapsed" StartDate="01 Sep 2012" VersionTemplateFormat="0.0.1000.0" Major="1" Minor="0">
<Output TaskParameter="Version" PropertyName="CodeBuildNumber" />
</MSBuild.ExtensionPack.VisualStudio.TfsVersion>
<BuildStep TeamFoundationServerUrl="$(TeamFoundationServerUrl)" BuildUri="$(BuildUri)" Message="... The assembly build number is $(CodeBuildNumber)" Status="Succeeded"/>
<OnError ExecuteTargets="OnError" />
</Target>
Would have expected no issue with the build number but got the following error
"ArgumentOutOfRangeException: Index and length must refer to a location within the string.
Parameter name: length"