我們有一個內部部署TFS 2012服務器和構建服務器。我們正在升級到VS和TFS 2017.現在,有人要求建立另一個構建服務器,這將允許我們從現有的TFS服務器構建新的2017項目。我創建了一個新的構建服務器,並在其上安裝了TFS 2012構建服務以及VS2017。我創建了一個新的構建定義,但未能編譯,並且錯誤顯示了2012年的語法更改,這些更改在2012年無效。如何將此配置爲針對安裝的VS2017構建項目?使用TFS 2012構建服務器構建VS2017項目
回答
舊的Visual Studio版本將msbuild安裝到C:\Program Files (x86)\MSBuild\<version>\bin
中,顯然RunMSBuild活動使用ToolVersion + ToolArchitecture來計算此路徑。
VS 2017會安裝它C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ bin並且RunMSBuild無法再計算正確的路徑。您不能使用舊的DefaultTemplate11.1xaml
與VS2017集成。
爲了完成這項工作,您可以嘗試修改TFSBuildServiceHost.exe.config
,並且必須在構建服務器上安裝VS 2013或VS 2015版本才能使其工作。更詳細的步驟請按照Jonesy2488的答案在此鏈接:How to get VS 2017 working with TFS 2017 XAML Builds
此外,XAML構建在TFS 2017年棄用,在TFS的TGE下一個版本(2018)將不可用。 VSTS已不再支持它們。
我正在尋找託管的XAML構建控制器。它去了哪裏?
不再支持託管的XAML構建控制器。在2016年4月或之後創建的賬戶 無權訪問它。我們計劃 所有賬目 除去託管XAML編譯器,可能是儘快2017年三月
既然你要升級並使用TFS2017。強烈建議您將您的版本轉換爲vNext Build以訪問某些新技術和支持。更多請參考Why Should I Leave XAML Builds?
是的,今天早上我意識到了。我讀了它。我想我正要轉向新的構建平臺。 – Sam
好主意Sam,最好的做法是讓應用程序保持在組織中的同一版本和sp級別上。 –
感謝這篇文章,我能夠使用Visual Studio 2017使用TFS 2012與構建服務器構建C#6語法的持續集成。希望這可以節省下一個人一些時間來解決這個問題。
以下是我爲了讓TFS 2012構建C#6語法而更改的內容列表。在與生成代理的機器上安裝VS 2017年的企業,安裝設置頁面上,確保MS構建選擇
編輯構建定義,並確保MSBuild的參數是/tv:15.0 /p:GenerateBuildInfoConfigFile=false /p:VisualStudioVersion=15.0
檢查您的構建定義正在使用的模板,並通過轉到源代碼管理資源管理器並進入團隊項目並進入BuildProcessTemplate對其進行修改,它應該具有。xaml文件,通過雙擊修改它
應該有兩個操作,說運行MSBuild項目。您需要將兩個toolpath屬性都更改爲指向構建服務器上的msbuild.exe父文件夾。在我的情況下,構建服務器是32位機器,因此Bin文件夾的路徑在Program Files旁邊沒有(x86),您需要檢查構建服務器以在此處輸入正確的路徑。 做出更改後,您需要保存xaml並將其簽入。
嗨,@ gavin,xaml不是最大的搜索,請問,請告訴它的結構是ToolPath變量的位置? –
- 1. 在TFS中使用devenv.exe構建項目15RC1構建服務器
- 2. TFS構建服務器 - 共享項目構建錯誤
- 3. TFS構建服務器
- 4. 使用TFS2008構建服務器構建VS2010項目
- 5. 在TFS 2012構建服務器上構建MVC 4應用程序
- 6. 用於TFS 2008構建服務器的構建監視器
- 7. 在TFS構建服務器上構建VS數據庫項目的問題
- 8. 使用TFS構建Installshield項目build
- 9. TFS 2010使用WCF服務構建SharePoint
- 10. TFS構建服務失敗
- 11. TFS 2010構建服務
- 12. 如何在構建服務器上構建VS2010 C++項目
- 13. 構建硒服務器項目
- 14. 如何在TFS構建服務器上啓用Azure項目的包創建
- 15. TFS 2012構建代理與TFS 2010構建代理的優勢?
- 16. TFS 2012構建定義:參數要構建的項目:無法轉換值Microsoft.TeamFoundation.Build.Workflow.Activities.BuildSettings
- 17. TFS構建服務器Xamarin MsBuild異常
- 18. 包丟失在TFS構建服務器
- 19. Kentico和TFS構建服務器設置
- 20. TFS 2010自動構建服務器
- 21. TFS構建服務器失敗
- 22. TFS 2017 - 構建服務器不構建Visual Studio 2017
- 23. 構建服務器(CI服務器)上的構建或重建
- 24. 結構建設構建服務器
- 25. 如何在TFS 2013構建服務器中爲ASP.NET 5項目創建構建定義?
- 26. 構建服務器或本地構建自定義構建任務
- 27. 我如何構建架構服務器項目?
- 28. 使用Ubuntu服務器在jenkins上構建xcode項目
- 29. TeamCity構建RIA服務項目失敗
- 30. TFS使用dotnet恢復和4.5項目構建項目
我們使用的是DefaultTemplate11.1xaml。我讀過有新版本會從新路徑獲取MSBuild版本,但我不知道從哪裏獲取這些新模板。 – Sam
TFS2017中的構建模板完全不同。您可能需要權衡解決此問題需要多長時間。升級會更容易。我最近做了,因爲你在2012年,你必須升級到2013年,或者像我2017年之前的2015年一樣。我也必須稍微修改流程模板。 –
因此TFS 2012不能直接進入2017?我們並沒有意識到這一點。你知道爲什麼嗎?我看到一些地方說DefaultTemplate.11.xaml可以修改爲指向新的MSBuild版本,但提到的部分似乎並不存在於我的文件中。 – Sam