My company is looking to implement a CI solution pretty soon, and I am worried about one thing in particular... we are scaling up, which means our solutions are growing with more projects. One thing I wanted to look into is to split off rarely changed projects into a separate project, and then having other projects simply reference the compiled DLL, rather than including the projects in their solutions.
For example...
- /BLL/DataFramework
- /BLL/OrmFramework
- /BLL/OrmDataAdapter
- /BLL/...
- /WebUI/MyWebSite
The Data and ORM projects would rarely be changed, but if not referenced as DLLs would add bloat to all solutions.
Instead I'd like to exclude them from the project and have them build to a Libraries folder (or something similar), so that:
- /BLL/...
- /Libraries
- /WebUI/MyWebsite
Where the ORM and Data assemblies .DLLs are in the Libraries folder.
So the question is...
Is there any reason this would not work with Continuous Integration?
Could I have one solution with these rarely updated classes that will build to the library folder during CI, first, and followed by the other solutions?
Edit: To be clear... we want to keep these projects in the CI cycle, but to not directly reference their projects in every solution.