在Post-build或AfterBuild事件中获取TFS构建中的放置位置

时间:2015-08-04 17:58:41

标签: tfs2012 tfsbuild

我正在尝试从C#项目中的post-build事件中启动.exe,我似乎无法访问TF_BUILD_DROPLOCATION环境变量。

我正在从TFS运行构建作为手动启动的构建,并且在项目的属性窗口中,我将以下代码粘贴到Post-build事件窗口中:BuildExe.exe $(TF_BUILD_DROPLOCATION)

exe(BuildExe.exe)正在启动,但参数为空。知道为什么吗?我是否需要以其他方式启动此.exe以访问环境变量?我也尝试编辑项目.csproj文件并将以下代码添加到AfterBuild目标,但这也不起作用。

请参阅下面的代码 - 创建文件test2.txt,但它的内容很简单:

team build =

team drop location =

    <Target Name="AfterBuild">
        <WriteLinesToFile File="test2.txt" Lines="@(MyItems)" Overwrite="true"     Encoding="Unicode" />
      </Target>
      <ItemGroup>
        <MyItems Include="team build = $(TF_BUILD)"/>
        <MyItems Include="team drop location = $(TF_BUILD_DROPLOCATION)"/>
      </ItemGroup>

提前致谢!

1 个答案:

答案 0 :(得分:0)

首先,我必须说Team Foundation Environment变量在Post / Pre构建事件中不起作用。允许在构建事件中使用宏,您可以检查此MSDN article以获取宏列表。

我认为你需要选择Build Definition - &gt;而不是使用Pre / Post构建事件。过程 - &gt; 发布/预构建脚本以运行您的脚本。此时,您在脚本中使用TF_BUILD_DROPLOCATION环境变量。请查看此链接了解详情:https://msdn.microsoft.com/en-us/library/vstudio/dn376353(v=vs.120).aspx