我正在尝试从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>
提前致谢!
答案 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