2013-03-27 145 views
0

我們有一個很大的非Visual Studio C++項目,它是通過批處理文件構建的。我已經在Visual Studio中將它作爲一個makefile項目與項目屬性中的定製「構建命令行」集成在一起,這種方式運行良好,已經完成了一年多。團隊基礎服務器自動構建

我現在想要介紹Team Foundation Server並配置自動構建。

如果我在Visual Studio中生成項目,那麼項目生成正常。
如果我使用自動構建服務器來構建項目,則構建每次都會失敗

在構建報告中查看日誌文件的選項呈灰色。給出的報告是

命令「Autobuild.cmd」與代碼退出1.

其中自動構建是在解決方案的「構建命令行」中規定的CMD文件。

任何人都可以想到爲什麼會出現這種情況,我認爲構建服務器只需運行Build命令,並在'Items to Build'框中指定項目。如果是這種情況,那麼我不明白爲什麼它會失敗。

回答

0

在您的構建定義中,您可以選擇記錄日誌,那麼您可以將其更改爲Verbose日誌記錄。也許你會在日誌文件中獲得一些信息。

對於使用代碼1退出的問題,我認爲您需要添加一些額外的信息行以便在cmd程序中打印,並且當您在TFS Build中激活日誌時,您可能會看到更多信息。

1

有許多可能的原因;不幸的是,你沒有提供足夠的信息來回答這些問題。

首先要嘗試的是將您的構建定義日誌記錄級別更改爲Diagnostic。 (當你排隊一個新的構建時,你也可以這樣做)。

我還建議實際上將您的makefile包裝在msbuild.proj文件中。

一些東西:

<Project ToolsVersion="4.0" DefaultTargets="build" 
     xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Target Name="build"> 
    <Exec Command="autobuild.cmd" /> 
    </Target> 
</Project> 

Exec task有選擇的負載定製CMD怎麼叫,應該有助於您診斷錯誤。

一般來說,如果你想充分利用TFS構建,我建議儘可能多地將你的autobuild.cmd遷移到msbuild。 MSBuild是TFS的「makefile」語言,可以說話。