0

我正在开发一个应用程序,其中多个开发人员每天都会登记。我只想在签入后成功复制最新文件,并成功将TFS构建到共享位置。目前我使用后生成脚本像成功构建后复制文件

ATTRIB -r “$(PROJECTDIR)数据*。”/ S & XCOPY/S/Y/I “$(PROJECTDIR)数据*。” “ShareLocation”

但是最大的问题是,即使有人在本地做了一些改变,然后做本地构建,所有文件被复制到共享位置。但我只想复制签入和成功TFS构建后的文件。

有人可以请帮助什么是最好的解决方案。我不是一个建造工程师,对MSBuild知之甚少,所以如果你的答案是MSBuild,那么请分享一些好的样本,而不是给MSDN链接。提前预测。

Pritam

回答

0

如果您有TFS一个专用的服务器构建,那么你可以调用一个单独的.bat文件作为后生成事件。

在后期构建事件中,您可以指定servername,即检查是否在该远程服务器上进行构建。如果构建在远程服务器上,则可以在此处具有复制命令。

举例:IF/I “%COMPUTERNAME%” == “服务器名”(命令)

+0

斐伊川。你试过了吗?它工作吗? – 2010-09-16 11:42:10

+0

我用目标更新我的默认TFSBuild.Proj文件。因此,无论何时某人签入某些内容,只有它被复制到我的服务器。但感谢大家的帮助。 – 2010-09-17 02:49:40

0

您可以添加一个条件,只发布版本将执行以下命令:

如果“$(ConfigurationName) “==”发布“(命令)

0

谢谢大家的帮助。以下是我在TFSBuild.proj文件中使用,并解决我的问题

<Target Name="AfterCompile"> 
<Exec Command="Attrib -r &quot;$(SolutionRoot)\<SolutionFolder>\*.*&quot; /S"></Exec> 
<Exec Command="xcopy /S /Y /I &quot;$(SolutionRoot)\<SolutionFolder>\*.*&quot; &quot;<server location>;" />  

相关问题