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>;" />  

相關問題