我們想要設置構建過程以防止在分支上發生重大更改。我們有一個共同的圖書館/項目被多個項目引用。因此,當對這個公共庫進行更改時,使用它的所有其他項目也可能會構建並檢查是否存在重大更改。到目前爲止,使用MSBuild,我們已經能夠做到相反。從一個項目中,我們可以收集所有的依賴關係。但是,我怎樣才能獲得所有參考/使用msbuild使用公共庫的項目?MSBuild獲取所有項目引用/使用項目
0
A
回答
0
最好的選擇是將這個通用庫放到分支下的通用文件夾中,只要它在其他項目中生成並引用它即可。
否則,我不確定msbuild是否有支持來識別引用二進制文件的位置。如果可能的話,這也將是一個耗時的過程,具體取決於你的分支的大小,它會給你的通用庫構建增加不必要的開銷,並且在將來開始使用這個通用庫的時候會嚴重影響分支構建過程的可維護性其他地方。
0
這將是一些工作,如果你想做一些「推」的通知。
CommonLibrary的便宜技巧是(作爲構建過程的最後一步),將在每個相關項目中執行源代碼更新。像一個虛擬文件。
.\MySolution1.sln
.\MyBuildTriggerFile1.txt
然後
.\MySolution2.sln
.\MyBuildTriggerFile2.txt
(等,等)。
並讓CommonLibrary構建過程繼續,並對依賴項目執行某種快速更新和簽入。
這裏的好處是,這相對容易實現。 這裏不好的是,你必須手動保持CommonBuild項目中的列表更新。 另一個好處就是......你實際上並沒有在做這些構建,你只是發送一條小小的消息說「發生了什麼事」。所以CommonBuild庫不會陷入困境。
然後,您的相關項目可以設置爲「建立在變化上」,然後您會很快知道。
......
如果你想爲「全自動」和「所有動態」,你會不得不做一些工作,一個自定義的MSBuild任務。
您必須開始拉動csproj文件,解析它們,然後將它們鏈接回CommonLibrary。
YOUCH。這是很多工作。
.......
我會採取中間立場的方法。
使用「觸發器文件」系統......(建議上面).......並且讓代碼可以每晚一次或「每次檢入」......
無論如何。有一個想法。但我不知道任何東西。
............
相關問題
- 1. MSBuild建設項目引用
- 2. 如何使用BehaviourSubject獲取所有項目和單個項目?
- 3. 的MSBuild項目引用的項目具有不同配置
- 4. DynamoDB:獲取所有項目
- 5. 獲取所有ListView項目?
- 6. 使用索引來獲取項目,Python
- 7. 在MSBuild文件中如何獲取引用的項目?
- 8. msbuild項目組項目
- 9. 是否有可能使用TFS API獲取所有項目和子項目
- 10. Msbuild將項目引用解析爲自定義項目類型
- 11. 在msbuild中未設置項目引用
- 12. 如何讓MSBuild忽略項目引用?
- 13. MSBUILD失敗WCF項目引用WCFExtras
- 14. Python抓取JSON - 獲取所有項目
- 15. 「錯誤MSB4040有項目沒有目標」使用的MSBuild + Delphi2009
- 16. UITabBar獲取所選項目
- 17. 獲取所選項目
- 18. 獲取下一個項目中的所有項目
- 19. vb.net:獲取引用項目的資源
- 20. 項目B引用項目A,其具有使用ASP.NET的System.DirectoryServices
- 21. 如何使用MSBuild執行Visual Studio項目? (VB.Net項目)
- 22. MSBuild調用Web項目的包目標
- 23. 獲取QComboBox的所有項目 - PyQt4(Python)
- 24. 獲取所有ListView項目(行)
- 25. 獲取所有啓動項目?
- 26. 獲取項目中的所有註釋?
- 27. 獲取ArrayAdapter中的所有項目
- 28. 從Kentico獲取所有項目searchindex
- 29. JSoup不會獲取所有項目?
- 30. 使用ng選項獲取所選項目