Category: TFS

工作需求,上線前置作業想從 TFS 版控抓出指定期間異動過的檔案清單,懶得尋覓現成軟體或工具,寫幾行程式自幹搞定。 TF.EXE 有個 History 命令可列舉特定期間(/v:Dyyyy-MM-dd~Dyyyy-MM-dd)特定目錄下(/recursive)所有 Changeset,加上 /for...

在公司混得愈久,沾染的專案就愈多(講得好像專案是髒東西一樣,咦,不是哦?),每回改程式查程式的第一步就是從 TFS Get Latest 取回最新版本,日積月累留下後遺症。不知從何時起,Visual Studio 中只要是與 TFS 有關的操作都如老牛拖車,讓我有想爆粗口的衝動(大家都知道,我性...

工作環境用的是 TFS 2012 Build Service,最近要編譯 VS2015 專案,程式用到 C# 6.0 超好用的字串插值寫法當場被打臉,得到 Unexpected character '$' 錯誤。原因很明顯,VS2015 改用 Roslym 編譯器,TFS 2012 Build ...

保留完整版本變更歷程是版控系統的核心精神之一,檔案項目一旦簽入,就算使用者要求刪除,項目從清單上消失,仍可透過歷史記錄還原每一個曾簽入的版本。 實務上,偶爾會發生不慎誤將不該簽入內容丟上版控的狀況(例如:誤簽入個資或機密敏感內容),此時版控對保留完整軌跡的堅持變成缺點,不管刪除或 Rollba...

換用TFS版控時我們開始採用「多重簽出」原則,大幅改善VSS時代「專案一被人簽出其他人就動不了」的困擾。但隨之而來的副作用是:多人同時修改,若簽入時別人已先簽入更新的版本,就需要執行程式碼合併。 在我們的經驗裡,TFS有個神奇又方便的「自動合併」功能,只要程式修改幅度不大,沒有改到同一段程式,...

前幾天,參與的專案遇到緊急狀況,剛改版的系統有一段邏輯因正式台資料與預期不同而出錯,需要緊急換版,負責的同事因故無法即刻救援,改派我代打上陣。有一段時間沒參與,我對最新開發進度有點脫節,本次代打任務形同開發團隊的一次臨時抽考。 在我的開發機器開啟Visual Studio,先從TFS版控抓回最...

前天提過的TFS Build Queue卡單今天再度上演,一樣又是重啟TFS Build Service才解決,由於已非偶發罕例,決定展開調查。由事件檢視器查到一筆發生在卡單前一刻的可疑錯誤,Build 1257號,正好是被卡住1258號的前一筆,訊息為An error occurred whi...

今早使用TFS Build Service建置部署時,建置作業卡在Queue裡遲遲不開始,等了五分鐘感到不對勁,展開調查。 狀態顯示我排在第二順位,似乎在等待其他建置執行完畢,但超過5分鐘頗為異常,決定查查前面的烏龜車是哪一台。 登楞!整個Queue裡只有我一人。夾緊擴約肌在廁所門口...

NuGet已是開Visual Studio寫專案的必備工具,用關鍵字找到項目就能安裝,有新版本點一下就更新,非常方便。 我們遇到一項困擾:NuGet在升級程式套件前會移除專案的舊版DLL,至於packages目錄下的舊版檔案若已無其他專案參照,也會一併刪除,理論上不會累積。依NuGet 文件說...

公司因為TFS Build Service無法存取網際網路還原NuGet Package,故我們採取將NuGet Packages一律簽入TFS的策略。近日再發現TFS Build Service行為特性一則,筆記之。 某專案使用Build Service編譯時出現NuGet無法還原錯誤,想起...

TFS Power Tools有個好用功能,在檔案總管加入右鍵選單提供簽入、簽出、版本比較等TFS操作,檔案、資料夾圖示也會加上最新版本(綠三角)、待簽入新増(紅十字)、待簽入修改(鉛筆)等狀態標示,不需開啟Visual Studio或TFS Explorer就能管理,十分方便。 但自從安...

當初為TFS版控建立工作區時沒想太多,取了TFSWorkspace當資料夾名稱。隨著接觸專案變多,跨越多個Project Collection,每個都需要自己的工作區,這才意識到原先的命名大有問題,工作區資料夾應加上Project Collection名稱才合理,之後再設工作區,IM-ERP P...

有個TFS組建定義(Build Service)怪怪的,無法下載原始碼,幾經嘗試無解,索性刪掉再重設一次。(推薦VS TFS Power Tools,組建定義選單多出「Clone Definition」可以複製現有組建定義修改,不用從頭做起) 不料,新増相同原始碼來源的組建定義後,執行出現以下...

聲明:本文應用情境為TFS 2012,TFS 2013可在組建定義加掛PowerShell Script於建置前後執行,應比本文介紹的做法簡便。(請參考Franma的文章) 使用TFS Build Service成功建置專案後,我們希望做到建置後自動上傳測試台或UAT驗收主機的目標。考慮過幾種...

公司的專案版控由VSS換到TFS版已經很久了,自動組建(Build)專案的工作原本靠CruiseControl.NET搞定,一直沒研究如何改接TFS,但漸漸陷入危機,CCNET主機裝在Windows 2003,註定與.NET 4.5專案無緣,非升級不可。一不做二不休,索性棄守CCNET,另建TF...