我们想要设置构建过程以防止在分支上发生重大更改。我们有一个共同的图书馆/项目被多个项目引用。因此,当对这个公共库进行更改时,使用它的所有其他项目也可能会构建并检查是否存在重大更改。到目前为止,使用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选项获取所选项目