Batch file 批处理脚本的生成后参数无法转换生成参数

Batch file 批处理脚本的生成后参数无法转换生成参数,batch-file,azure,tfs,build,Batch File,Azure,Tfs,Build,我正在使用TFS 2013,正在构建一个Azure云服务项目,我想将其与Nuget打包,以便发布到Octopus Deploy。我不能使用octopack,因为目前它不受支持。我试图将TFS参数传递到构建后批处理脚本中,以便可以使用-version参数运行nuget(每个构建都会更改) 我遇到的问题是批处理脚本无法识别TFS构建参数。例如,在脚本中,我希望传递一个参数version$(TeamProject)-1.0.0$(Rev.r),该参数将为脚本提供要在包名称中设置的版本 脚本中的完整nu

我正在使用TFS 2013,正在构建一个Azure云服务项目,我想将其与Nuget打包,以便发布到Octopus Deploy。我不能使用octopack,因为目前它不受支持。我试图将TFS参数传递到构建后批处理脚本中,以便可以使用-version参数运行nuget(每个构建都会更改)

我遇到的问题是批处理脚本无法识别TFS构建参数。例如,在脚本中,我希望传递一个参数version$(TeamProject)-1.0.0$(Rev.r),该参数将为脚本提供要在包名称中设置的版本

脚本中的完整nuget包调用是:

%nugetPath%push%packagePath%\Veedyo.%version%.nupkg

将其传递到生成后脚本路径中会起作用:

$/Application1/MAIN/Source/.NET/Application1.Package/Package.cmd

这是因为在构建完成之后,源代码管理路径被转换为实际路径(我可以在日志中看到实际路径)

但是,生成中的生成后脚本参数属性不会将此“$(TeamProject)”-1.0.0“$(Rev.r)”转换为所需的值。这会导致执行批处理脚本时出错:

异常消息:TF270015:“package.cmd”返回了意外的退出代码。应为“0”;实际“1”。有关更多详细信息,请参阅构建日志


那么,有人知道如何将“添加生成参数”转换为“生成后脚本参数”属性吗?

运行脚本时,这些宏不可用。您可以使用列出的TF_构建环境变量之一


可能您正在查找
TF\u BUILD\u BUILDNUMBER
,或者您必须提取您要查找的数据;在后一种情况下,Powershell的使用可能比cmd.exe解释器更简单。

是否应该像“$(TF\u BUILD\u BUILDNUMBER)”这样将参数添加到批处理脚本中?这些是环境变量;在Powershell中的cmd解释器
%TF\u BUILD\u BUILDNUMBER%
$env:TF\u BUILD\u BUILDNUMBER