2012-07-23 101 views
6

我有一個TFS 2010安裝與Visual Studio 2010(也安裝在服務器),我創建了一個C#項目的構建定義。生成最終成功,但我沒有在我的drop文件夾的.exe文件,但我可以找到DLL但是,TFS 2010沒有exe文件複製成功後生成

有沒有人遇到過同樣的問題?

回答

1

感謝您的回覆,這正是問題所在,其中一個項目被設置爲「x86 「而不是」AnyCPU「,我在組織二進制文件夾(默認情況下TFS將所有內容放在同一個文件夾中,因此難以看到)之後注意到:使用該帖子:http://lajak.wordpress.com/2011/05/07 /定製 - 二進制文件夾功能於TFS-團隊構建/。

現在問題已解決。感謝您的幫助,祝您有美好的一天。

+0

伊門,如果它已經奏效,你應該將其中一個答案標記爲接受的答案(可能是James Reed的答案)。 – Fabio 2012-10-16 13:35:39

1

的TFS-構建的整個流程可以,如果你排隊一個新的版本&設置Verbosity = diagnostic
一旦生成結束後,打開它,並選擇「查看日誌」來觀察。

A BinariesDirectory的值在Initialize Binaries Directory之內。
另一個名爲OutputDirectory的變量的值在Initialize OutputDirectory之內,基於BinariesDirectory
MSBuild將結果放入此OutputDirectory
最後,在Copy Files to Drop Location之下的所有內容都被複制到放置位置。

這樣做的活動是Microsoft.TeamFoundation.Build.Workflow.Activities.CopyDirectory,它不關注任何擴展 - 它只是複製整個目錄。

爲了體驗什麼要報告,你可能會使用非默認的構建過程模板XAML,或您的MSBuild參數以某種方式改變,或* EXE-的csproj有一個硬編碼輸出路徑。
在任何情況下,如果你跟蹤上面描述的生成日誌,你應該能夠找到罪魁禍首。
祝你好運!

6

這可能是您的配置生成問題。

在解決方案資源管理器中,右鍵單擊解決方案並選擇「配置管理器」。這將列出解決方案中的所有項目。創建「EXE」的項目可能設置爲「x86」,創建「DLL(s)」的項目可能設置爲「AnyCPU」。

你應該爲每一個平臺設置一個「平臺」,再加上一個用於「混合平臺」的「平臺」,它將構建所有的項目。

現在檢查您的構建定義。查看進程選項卡並查看「要構建的項目」設置,確保您正在構建「發佈|混合平臺」。如果你只是得到你的生成輸出的DLL,我懷疑你的版本設置爲「Release | AnyCPU」

+0

是的,很有可能 – pantelif 2012-07-23 19:54:05

+0

親愛的所有人,感謝您的回覆,這正是項目設置爲「x86」而不是「AnyCPU」的問題,我在組織bianries文件夾後注意到(默認情況下,TFS puts在相同的文件夾中出現錯誤,所以很難看清楚)使用帖子: – Imen 2012-07-24 07:14:59