【发布时间】:2012-03-09 01:34:59
【问题描述】:
我们的 C# 解决方案有几个通过构建后事件填充的文件夹(即它们最初是空的)。
解决方案在本地构建良好,但使用 TFS 构建代理时,文件夹不会显示在已发布的网站文件夹中。
关于如何强制 TFS 复制文件夹的任何建议?
【问题讨论】:
标签: tfs
我们的 C# 解决方案有几个通过构建后事件填充的文件夹(即它们最初是空的)。
解决方案在本地构建良好,但使用 TFS 构建代理时,文件夹不会显示在已发布的网站文件夹中。
关于如何强制 TFS 复制文件夹的任何建议?
【问题讨论】:
标签: tfs
在此解决:publish empty directories to a web application in VS2010 web project
TFS 不执行 proj 文件的 AfterBuild 目标。我相信它会执行 AfterCompile 目标,但这仍然可能无法满足您的要求。
我使用了包含虚拟文件的方法,尽管它很蹩脚。
我尝试了包含一个 powershell 脚本的方法来执行一些有效的发布后任务。
最近,我采用了包含以“.package.proj”结尾的补充 MSBuild 文件的约定,并在我的团队构建模板中添加了一个额外的 MSBuild 执行活动,该活动在将文件拖放到放置位置后查找它然后执行它。这为 Team Build 工作流程提供了一个简单的挂钩,而无需深入更改特定构建的工作流程。它只是一个包含在查找文件的条件中的附加活动。如果找到,执行它。
您还可以制作自定义构建模板并使用工作流活动来执行各种清理任务,但这可能有点矫枉过正,并且会增加对构建模板的维护。如果可以的话,最好让自定义保持简单,并让它在不需要自定义的构建上以不需要“选择退出”配置的方式运行。在对模板进行自定义后,现有的 vanilla 构建应继续按预期工作。
【讨论】: