我想在我的TFS构建过程中创建一个文件夹,在这种情况下,它是一个' TempImages'文件夹,我不想作为解决方案的一部分,也不是源代码控制。
为了在本地实现这一点,我设置了以下后期构建操作:
IF NOT EXIST "$(ProjectDir)\TempImages\" mkdir "$(ProjectDir)\TempImages\"
这就像魅力一样,除非使用TFS发布到我的测试环境,否则不会创建文件夹。
经过一些谷歌搜索,我发现我可能需要以稍微不同的方式执行此操作,因此将以下内容添加到我的.csproj
文件中。
<Target Name="AfterBuild">
<Exec Command="IF NOT EXIST "$(ProjectDir)\TempImages\" mkdir "$(ProjectDir)\TempImages\""></Exec>
</Target>
不幸的是,这似乎并没有成功。
为此目的,通过TFS在构建后/部署后创建文件夹的建议路径是什么?
答案 0 :(得分:4)
两者都应该有用。问题可能是在TFS源文件夹而不是输出/ drop文件夹中创建了TempImages文件夹。
您可以尝试将$(ProjectDir)
属性更改为以下之一:
$(WebProjectOutputDir)
$(TF_BUILD_BINARIESDIRECTORY)
$(TF_BUILD_DROPLOCATION)
后两个只适用于TF Build,你几乎肯定需要添加一个相对路径后缀,例如$(TF_BUILD_BINARIESDIRECTORY)\MyWebSite\TempImages\
。
您可以向post build事件或MSBuild目标添加条件逻辑,以检测何时根据$(TF_BUILD)
属性从TF Build构建。
答案 1 :(得分:0)
我会修改构建模板并在构建成功后添加自定义活动来创建此文件夹。以下是有关自定义构建模板的link到MSDN。